couchdb-web-node-plugin 1.0.824 → 2.0.824
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/databaseHelper.d.ts +1 -1
- package/databaseHelper.js +1 -1
- package/helper.d.ts +2 -2
- package/helper.js +1 -1
- package/index.js +1 -1
- package/package.json +3 -3
- package/type.d.ts +35 -35
package/helper.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Logger, Mapping, ValueOf } from 'clientnode';
|
|
2
|
-
import { AbortControllerStack, ModelRolesMapping, Roles, Configuration, Connection, ConnectorConfiguration, CoreConfiguration, DatabaseConnectorConfiguration, Model, ModelConfiguration, Models, NormalizedRoles,
|
|
2
|
+
import { AbortControllerStack, ModelRolesMapping, Roles, Configuration, Connection, ConnectorConfiguration, CoreConfiguration, DatabaseConnectorConfiguration, Model, ModelConfiguration, Models, NormalizedRoles, PropertyDefinition, Services, SpecialPropertyNames } from './type';
|
|
3
3
|
export declare const TOGGLE_LATEST_REVISION_DETERMINING: unique symbol;
|
|
4
4
|
export declare const log: Logger;
|
|
5
5
|
/**
|
|
@@ -88,7 +88,7 @@ export declare const determineModelRolesMapping: (modelConfiguration: ModelConfi
|
|
|
88
88
|
* @param value - Value to analyze.
|
|
89
89
|
* @returns Boolean indicating the case.
|
|
90
90
|
*/
|
|
91
|
-
export declare const
|
|
91
|
+
export declare const isPropertyDefinition: (value: ValueOf<Model>) => value is PropertyDefinition;
|
|
92
92
|
/**
|
|
93
93
|
* Determines all property names which are indexable in a generic manner.
|
|
94
94
|
* @param modelConfiguration - Model specification object.
|
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 i=t[n]={exports:{}};return e[n](i,i.exports,r),i.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:()=>h,applyDefaultPropertyConfigurations:()=>D,applyModelInheritance:()=>P,applyModelsInheritance:()=>_,determineGenericIndexablePropertyNames:()=>T,determineModelRolesMapping:()=>S,ensureValidationDocumentPresence:()=>k,getConnectorOptions:()=>x,getEffectiveURL:()=>j,getPouchDBPlugin:()=>b,initializeConnection:()=>O,isPropertySpecification:()=>I,log:()=>y,mayStripRepresentation:()=>w,normalizeRoles:()=>E,removeDeprecatedIndexes:()=>g,waitWithTimeout:()=>A});var a=r(1),i=r.n(a),o=r(2),s=r.n(o),c=r(3),u=r.n(c),p=r(4);const l=require("rxjs"),d=require("rxjs/fetch"),f="1.0.824";function m(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 v(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)?v(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 v(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 h=Symbol("toggleLatestRevisionDetermining"),y=new p.Logger({name:"web-node.couchdb"}),b=function(e){var t=e.model.property.name.special,r=t.id,n=t.revision,a=t.attachment,i=t.deleted;return{installCouchDBWebNodePlugin:function(t){var o=this;if(this.bulkDocs){var c=this.bulkDocs.bind(this);this.bulkDocs=s()(u().mark((function a(i){var s,l,d,f,v,b,g,x,w,k,O,j,A,S,I,T,P,D,_,E,R,M,N,C=arguments;return u().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:y.debug("BulkDocs called from:",t),(0,p.isObject)(i)&&1===Object.keys(i).length&&"docs"in i&&Array.isArray(i.docs)&&(i=i.docs);for(s=C.length,l=new Array(s>1?s-1:0),d=1;d<s;d++)l[d-1]=C[d];f=l.length>0&&l[l.length-1]===h,v=f?!e.skipLatestRevisionDetermining:e.skipLatestRevisionDetermining,f&&l.pop(),b=!Array.isArray(i)&&(0,p.isObject)(i)&&r in i?[i]:i,g=e.maximumNumberOfEntitiesInBulkOperation,x=[],w=0;case 1:if(!(w<b.length)){a.next=4;break}return k=b.slice(w,w+g),a.next=2,c.call.apply(c,[o,k].concat(l));case 2:O=a.sent,x=x.concat(O);case 3:w+=g,a.next=1;break;case 4:j=[],A=[],S=0,I=m(x);case 5:if((T=I()).done){a.next=12;break}if(P=T.value,"object"!=typeof b[S]){a.next=10;break}if(!(n in b[S])||"conflict"!==P.name||!["0-latest","0-upsert"].includes(b[S][n])){a.next=6;break}A.push(b[S]),j.push(S),a.next=10;break;case 6:if(!(r in b[S]&&e.ignoreNoChangeError&&"name"in P&&"forbidden"===P.name&&"message"in P&&P.message.startsWith("NoChange:"))){a.next=10;break}if(x[S]={id:b[S][r],ok:!0},v){a.next=10;break}if(!(n in b[S])||["0-latest","0-upsert"].includes(b[S][n])){a.next=7;break}M=b[S][n],a.next=9;break;case 7:return a.next=8,o.get(x[S].id);case 8:N=n,M=a.sent[N];case 9:x[S].rev=M;case 10:S+=1;case 11:a.next=5;break;case 12:if(!A.length){a.next=14;break}return b=A,f&&l.push(h),a.next=13,o.bulkDocs.apply(o,[b].concat(l));case 13:for(D=a.sent,_=m(D);!(E=_()).done;)R=E.value,x[j.shift()]=R;case 14:return a.abrupt("return",x);case 15:case"end":return a.stop()}}),a)})))}this.post=this.put=s()(u().mark((function e(t,r){var n;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=1,o.bulkDocs([t],r);case 1:if(null==(n=e.sent[0])||!n.name){e.next=2;break}throw n;case 2:return e.abrupt("return",n);case 3:case"end":return e.stop()}}),e)}))),this.remove=s()(u().mark((function e(t,a){var s;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.put(((s={})[r]=t,s[n]=a,s[i]=!0,s)));case 1:case"end":return e.stop()}}),e)}))),this.putAttachment&&(this.putAttachment=s()(u().mark((function e(t,i,s,c,p){var l,d,f,m,v,h;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof s?(v=c,h=s):(v=s,h="0-latest"),e.abrupt("return",o.put(((m={})[r]=t,m[n]=h,m[a]=((f={})[i]={content_type:null!==(l=null!==(d=v.type)&&void 0!==d?d:p)&&void 0!==l?l:"application/octet-stream",data:v},f),m)));case 1:case"end":return e.stop()}}),e)})))),this.removeAttachment&&(this.removeAttachment=s()(u().mark((function e(t,i,s){var c,p;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.put(((p={})[r]=t,p[n]=s,p[a]=((c={})[i]={content_type:"application/octet-stream",data:null},c),p)));case 1:case"end":return e.stop()}}),e)}))))}}},g=function(){var e=s()(u().mark((function e(t,r,n){var a,i,o,s,c,p,l,d,f,v,h,y,b;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=1,t.getIndexes();case 1:a=e.sent.indexes.filter((function(e){return e.name.endsWith("-GenericIndex")})),i=m(a);case 2:if((o=i()).done){e.next=7;break}s=o.value,c=!1,p=0,l=Object.entries(r);case 3:if(!(p<l.length)){e.next=5;break}if(d=l[p],f=d[0],v=d[1],!s.name.startsWith(f+"-")){e.next=4;break}for(h=0,y=T(n,v);h<y.length;h++)b=y[h],[f+"-"+b+"-GenericIndex",f+"-GenericIndex"].includes(s.name)&&(c=!0);return e.abrupt("continue",5);case 4:p++,e.next=3;break;case 5:if(c){e.next=6;break}return e.next=6,t.deleteIndex(s);case 6:e.next=2;break;case 7:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}(),x=function(e,t){var r=new Map([[408,"Request Timeout"],[425,"Too Early"],[429,"Too Many Requests"],[502,"Bad Gateway"],[503,"Service Unavailable"],[504,"Gateway Timeout"]]);return i()({},e,{fetch:function(n,a){var i=e.fetchInterceptor,o=i.numberOfRetries,s=i.retryIntervalInSeconds,c=i.exponentialBackoff,u=i.maximumRetryIntervallInSeconds,f=(0,d.fromFetch)(n,function(r){var n;return void 0===r&&(r={}),r=(0,p.extend)(!0,(0,p.copy)(e.fetch),r),Array.isArray(t)&&t.length>0&&(r.signal=null==(n=t.pop())?void 0:n.controller.signal),r}(a)).pipe((0,l.map)((function(e){if(r.has(e.status))throw e;return e})),(0,l.retry)({count:o,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 y.info("Retry in "+n+" seconds","according to given retry value."),(0,l.timer)(1e3*a);var i=new Date(n);if(!isNaN(i.getTime())){var o=new Date;if(o<i){if(u<(i.getTime()-o.getTime())/1e3)return y.info("Retry at",i.toUTCString(),"according to given retry","value."),(0,l.timer)(i);y.warn("The recommended retry attempt is",i.toUTCString(),"further in the future than the","configured maximum wait time of",u,"seconds.")}else y.warn("Given retry time recommendation","from server is in the past and","has to be ignored therefore.")}}}var p=c?Math.pow(2,t-1)*s:s;return(0,l.timer)(1e3*Math.min(p,u))}}));return(0,l.lastValueFrom)(f)}})},w=function(e,t,r){var n=(0,p.represent)(e);return n.length<=t?n.length>r?n.substring(0,r-3)+"...":n:"DOCUMENT IS TOO BIG TO REPRESENT"},k=function(){var e=s()(u().mark((function e(t,r,n,a,o,s,c,l){var d,m,v,h,b;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===o&&(o=!0),void 0===s&&(s="_id"),void 0===c&&(c="_rev"),void 0===l&&(l="_design/"),m=i()(((d={})[s]=""+l+r,d.language="javascript",d.version=f,d),n),e.prev=1,e.next=2,t.get(""+l+r);case 2:return v=e.sent,m[c]=v[c],e.next=3,t.put(m);case 3:o&&y.info(a+" updated."),e.next=8;break;case 4:return e.prev=4,h=e.catch(1),o&&("not_found"===h.error||"not_found"===h.name||"missing"===h.message||"missing"===h.reason?y.info(a+" not available. Create new one."):y.info(a+" couldn't be updated:",'"'+(0,p.represent)(h)+'" create new one.')),e.prev=5,e.next=6,t.put(m);case 6:o&&y.info(a+" installed/updated."),e.next=8;break;case 7:throw e.prev=7,b=e.catch(5),new Error(a+" couldn't be installed/updated: \""+(0,p.represent)(b)+'".',{cause:b});case 8:case"end":return e.stop()}}),e,null,[[1,4],[5,7]])})));return function(t,r,n,a,i,o,s,c){return e.apply(this,arguments)}}(),O=function(){var e=s()(u().mark((function e(t,r,n){var a,i,o,s;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n&&(n=!0),a=t.couchdb,i=r.couchdb,o=j(i),t.couchdb.server.expressPouchDBInstance?(a.connection=new a.connector(i.databaseName,a.server.runner.configuration),a.connection.installValidationMethods()):a.connection=new a.connector(o,x(i.connector)),a.connection.installCouchDBWebNodePlugin("backend"),a.connection.setMaxListeners(1/0),!n){e.next=4;break}return e.prev=1,e.next=2,a.connection.allDocs({limit:1});case 2:e.next=4;break;case 3:throw e.prev=3,s=e.catch(1),new Error("Database has not been installed yet: "+(0,p.represent)(s),{cause:s});case 4:return e.abrupt("return",t);case 5:case"end":return e.stop()}}),e,null,[[1,3]])})));return function(t,r,n){return e.apply(this,arguments)}}(),j=function(e,t,r){void 0===t&&(t=!0),void 0===r&&(r=!1);var n=/^https?:\/\//.test(e.url)?e.url:"http://{1}"+e.runner.host+":"+String(e.runner.port);return(0,p.format)(n,r?e.admin.name+":"+e.admin.password+"@":"")+(t?"/"+e.databaseName:"")},A=function(e,t,r){var n=!0;return Promise.race([e.then((function(){n=!1})),(0,p.timeout)(1e3*t).then((function(){n&&y.warn("Timeout of",String(t)+".","seconds reached while waiting for "+r+".")}))])},S=function(e){for(var t=e.property.name.special,r=t.role,n=t.attachment,a={},o=_(e),s=0,c=Object.entries(o);s<c.length;s++){var u=c[s],l=u[0],d=u[1];if(d[r]){a[l]=i()({properties:{}},E(d[r]));for(var f=0,m=Object.entries(d);f<m.length;f++){var v=m[f],h=v[0],y=v[1];if((0,p.isObject)(y))if(h===n){a[l].attachments={};for(var b=0,g=Object.entries(y);b<g.length;b++){var x=g[b],w=x[0],k=x[1];k.roles&&(a[l].attachments[w]=E(k.roles))}}else y.roles&&(a[l].properties[h]=E(y.roles))}}}return a},I=function(e){return(0,p.isObject)(e)},T=function(e,t){var r=e.property.name.special;return Object.keys(t).filter((function(n){var a=t[n];return I(a)&&Object.prototype.hasOwnProperty.call(a,"index")&&a.index||I(a)&&!(Object.prototype.hasOwnProperty.call(a,"index")&&!a.index||e.property.name.reserved.concat(r.additional,r.role,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,r.updateStrategy).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()},P=function(e,t,r){void 0===r&&(r="in-place");var n=t.entities,a=t.property.name.special.extend;if(Object.prototype.hasOwnProperty.call(n,"_base")&&(Object.prototype.hasOwnProperty.call(e,a)&&e[a]&&![].concat(e[a]).includes("_base")?e[a]=["_base"].concat(e[a]):e[a]="_base"),Object.prototype.hasOwnProperty.call(e,a)){for(var i,o=[].concat(e[a]),s=m(o);!(i=s()).done;){var c=i.value;"_base"!==c&&P(n[c],t,c),(0,p.extend)(!0,e,n[c],(0,p.copy)(e)),e[a]=o}delete e[a]}return D(e,t),e},D=function(e,t){for(var r=t.property.name.special,n=0,a=Object.entries(e);n<a.length;n++){var i=a[n],o=i[0],s=i[1];if(o===r.attachment)for(var c=s,u=0,l=Object.entries(c);u<l.length;u++){var d=l[u],f=d[0],v=d[1];c[f]=(0,p.extend)(!0,(0,p.copy)(t.property.defaultSpecification),v)}else if(![r.role,r.constraint.execution,r.constraint.expression,r.extend,r.maximumAggregatedSize,r.minimumAggregatedSize,r.oldType].includes(o)){var h=(0,p.extend)(!0,(0,p.copy)(t.property.defaultSpecification),s);e[o]=h;for(var y,b=m([].concat(h.type));!(y=b()).done;){var g=y.value;Array.isArray(g)||"object"!=typeof g||(h.type=P(g,t))}}}return e},_=function(e){for(var t=e.entities,r=e.property.name.typePattern,n=0,a=Object.keys(t);n<a.length;n++){var i=a[n];if(!new RegExp(r.public).test(i)&&!new RegExp(r.private).test(i))throw new Error('Model names have to match "'+r.public+'" or "'+r.private+'" for xprivate one (given name: "'+i+'").');"_base"!==i&&P(t[i],e,i)}return t},E=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];if(Object.prototype.hasOwnProperty.call(e,a)){var i=e[a];Array.isArray(i)?t[a]=i:"string"==typeof i&&(t[a]=[i])}}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 i=t[n]={exports:{}};return e[n](i,i.exports,r),i.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:()=>h,applyDefaultPropertyConfigurations:()=>P,applyModelInheritance:()=>D,applyModelsInheritance:()=>_,determineGenericIndexablePropertyNames:()=>T,determineModelRolesMapping:()=>S,ensureValidationDocumentPresence:()=>k,getConnectorOptions:()=>x,getEffectiveURL:()=>j,getPouchDBPlugin:()=>b,initializeConnection:()=>O,isPropertyDefinition:()=>I,log:()=>y,mayStripRepresentation:()=>w,normalizeRoles:()=>E,removeDeprecatedIndexes:()=>g,waitWithTimeout:()=>A});var a=r(1),i=r.n(a),o=r(2),s=r.n(o),c=r(3),u=r.n(c),p=r(4);const l=require("rxjs"),d=require("rxjs/fetch"),f="2.0.824";function m(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 v(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)?v(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 v(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 h=Symbol("toggleLatestRevisionDetermining"),y=new p.Logger({name:"web-node.couchdb"}),b=function(e){var t=e.model.property.name.special,r=t.id,n=t.revision,a=t.attachment,i=t.deleted;return{installCouchDBWebNodePlugin:function(t){var o=this;if(this.bulkDocs){var c=this.bulkDocs.bind(this);this.bulkDocs=s()(u().mark((function a(i){var s,l,d,f,v,b,g,x,w,k,O,j,A,S,I,T,D,P,_,E,R,M,N,C=arguments;return u().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:y.debug("BulkDocs called from:",t),(0,p.isObject)(i)&&1===Object.keys(i).length&&"docs"in i&&Array.isArray(i.docs)&&(i=i.docs);for(s=C.length,l=new Array(s>1?s-1:0),d=1;d<s;d++)l[d-1]=C[d];f=l.length>0&&l[l.length-1]===h,v=f?!e.skipLatestRevisionDetermining:e.skipLatestRevisionDetermining,f&&l.pop(),b=!Array.isArray(i)&&(0,p.isObject)(i)&&r in i?[i]:i,g=e.maximumNumberOfEntitiesInBulkOperation,x=[],w=0;case 1:if(!(w<b.length)){a.next=4;break}return k=b.slice(w,w+g),a.next=2,c.call.apply(c,[o,k].concat(l));case 2:O=a.sent,x=x.concat(O);case 3:w+=g,a.next=1;break;case 4:j=[],A=[],S=0,I=m(x);case 5:if((T=I()).done){a.next=12;break}if(D=T.value,"object"!=typeof b[S]){a.next=10;break}if(!(n in b[S])||"conflict"!==D.name||!["0-latest","0-upsert"].includes(b[S][n])){a.next=6;break}A.push(b[S]),j.push(S),a.next=10;break;case 6:if(!(r in b[S]&&e.ignoreNoChangeError&&"name"in D&&"forbidden"===D.name&&"message"in D&&D.message.startsWith("NoChange:"))){a.next=10;break}if(x[S]={id:b[S][r],ok:!0},v){a.next=10;break}if(!(n in b[S])||["0-latest","0-upsert"].includes(b[S][n])){a.next=7;break}M=b[S][n],a.next=9;break;case 7:return a.next=8,o.get(x[S].id);case 8:N=n,M=a.sent[N];case 9:x[S].rev=M;case 10:S+=1;case 11:a.next=5;break;case 12:if(!A.length){a.next=14;break}return b=A,f&&l.push(h),a.next=13,o.bulkDocs.apply(o,[b].concat(l));case 13:for(P=a.sent,_=m(P);!(E=_()).done;)R=E.value,x[j.shift()]=R;case 14:return a.abrupt("return",x);case 15:case"end":return a.stop()}}),a)})))}this.post=this.put=s()(u().mark((function e(t,r){var n;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=1,o.bulkDocs([t],r);case 1:if(null==(n=e.sent[0])||!n.name){e.next=2;break}throw n;case 2:return e.abrupt("return",n);case 3:case"end":return e.stop()}}),e)}))),this.remove=s()(u().mark((function e(t,a){var s;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.put(((s={})[r]=t,s[n]=a,s[i]=!0,s)));case 1:case"end":return e.stop()}}),e)}))),this.putAttachment&&(this.putAttachment=s()(u().mark((function e(t,i,s,c,p){var l,d,f,m,v,h;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof s?(v=c,h=s):(v=s,h="0-latest"),e.abrupt("return",o.put(((m={})[r]=t,m[n]=h,m[a]=((f={})[i]={content_type:null!==(l=null!==(d=v.type)&&void 0!==d?d:p)&&void 0!==l?l:"application/octet-stream",data:v},f),m)));case 1:case"end":return e.stop()}}),e)})))),this.removeAttachment&&(this.removeAttachment=s()(u().mark((function e(t,i,s){var c,p;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.put(((p={})[r]=t,p[n]=s,p[a]=((c={})[i]={content_type:"application/octet-stream",data:null},c),p)));case 1:case"end":return e.stop()}}),e)}))))}}},g=function(){var e=s()(u().mark((function e(t,r,n){var a,i,o,s,c,p,l,d,f,v,h,y,b;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=1,t.getIndexes();case 1:a=e.sent.indexes.filter((function(e){return e.name.endsWith("-GenericIndex")})),i=m(a);case 2:if((o=i()).done){e.next=7;break}s=o.value,c=!1,p=0,l=Object.entries(r);case 3:if(!(p<l.length)){e.next=5;break}if(d=l[p],f=d[0],v=d[1],!s.name.startsWith(f+"-")){e.next=4;break}for(h=0,y=T(n,v);h<y.length;h++)b=y[h],[f+"-"+b+"-GenericIndex",f+"-GenericIndex"].includes(s.name)&&(c=!0);return e.abrupt("continue",5);case 4:p++,e.next=3;break;case 5:if(c){e.next=6;break}return e.next=6,t.deleteIndex(s);case 6:e.next=2;break;case 7:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}(),x=function(e,t){var r=new Map([[408,"Request Timeout"],[425,"Too Early"],[429,"Too Many Requests"],[502,"Bad Gateway"],[503,"Service Unavailable"],[504,"Gateway Timeout"]]);return i()({},e,{fetch:function(n,a){var i=e.fetchInterceptor,o=i.numberOfRetries,s=i.retryIntervalInSeconds,c=i.exponentialBackoff,u=i.maximumRetryIntervallInSeconds,f=(0,d.fromFetch)(n,function(r){var n;return void 0===r&&(r={}),r=(0,p.extend)(!0,(0,p.copy)(e.fetch),r),Array.isArray(t)&&t.length>0&&(r.signal=null==(n=t.pop())?void 0:n.controller.signal),r}(a)).pipe((0,l.map)((function(e){if(r.has(e.status))throw e;return e})),(0,l.retry)({count:o,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 y.info("Retry in "+n+" seconds","according to given retry value."),(0,l.timer)(1e3*a);var i=new Date(n);if(!isNaN(i.getTime())){var o=new Date;if(o<i){if(u<(i.getTime()-o.getTime())/1e3)return y.info("Retry at",i.toUTCString(),"according to given retry","value."),(0,l.timer)(i);y.warn("The recommended retry attempt is",i.toUTCString(),"further in the future than the","configured maximum wait time of",u,"seconds.")}else y.warn("Given retry time recommendation","from server is in the past and","has to be ignored therefore.")}}}var p=c?Math.pow(2,t-1)*s:s;return(0,l.timer)(1e3*Math.min(p,u))}}));return(0,l.lastValueFrom)(f)}})},w=function(e,t,r){var n=(0,p.represent)(e);return n.length<=t?n.length>r?n.substring(0,r-3)+"...":n:"DOCUMENT IS TOO BIG TO REPRESENT"},k=function(){var e=s()(u().mark((function e(t,r,n,a,o,s,c,l){var d,m,v,h,b;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===o&&(o=!0),void 0===s&&(s="_id"),void 0===c&&(c="_rev"),void 0===l&&(l="_design/"),m=i()(((d={})[s]=""+l+r,d.language="javascript",d.version=f,d),n),e.prev=1,e.next=2,t.get(""+l+r);case 2:return v=e.sent,m[c]=v[c],e.next=3,t.put(m);case 3:o&&y.info(a+" updated."),e.next=8;break;case 4:return e.prev=4,h=e.catch(1),o&&("not_found"===h.error||"not_found"===h.name||"missing"===h.message||"missing"===h.reason?y.info(a+" not available. Create new one."):y.info(a+" couldn't be updated:",'"'+(0,p.represent)(h)+'" create new one.')),e.prev=5,e.next=6,t.put(m);case 6:o&&y.info(a+" installed/updated."),e.next=8;break;case 7:throw e.prev=7,b=e.catch(5),new Error(a+" couldn't be installed/updated: \""+(0,p.represent)(b)+'".',{cause:b});case 8:case"end":return e.stop()}}),e,null,[[1,4],[5,7]])})));return function(t,r,n,a,i,o,s,c){return e.apply(this,arguments)}}(),O=function(){var e=s()(u().mark((function e(t,r,n){var a,i,o,s;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n&&(n=!0),a=t.couchdb,i=r.couchdb,o=j(i),t.couchdb.server.expressPouchDBInstance?(a.connection=new a.connector(i.databaseName,a.server.runner.configuration),a.connection.installValidationMethods()):a.connection=new a.connector(o,x(i.connector)),a.connection.installCouchDBWebNodePlugin("backend"),a.connection.setMaxListeners(1/0),!n){e.next=4;break}return e.prev=1,e.next=2,a.connection.allDocs({limit:1});case 2:e.next=4;break;case 3:throw e.prev=3,s=e.catch(1),new Error("Database has not been installed yet: "+(0,p.represent)(s),{cause:s});case 4:return e.abrupt("return",t);case 5:case"end":return e.stop()}}),e,null,[[1,3]])})));return function(t,r,n){return e.apply(this,arguments)}}(),j=function(e,t,r){void 0===t&&(t=!0),void 0===r&&(r=!1);var n=/^https?:\/\//.test(e.url)?e.url:"http://{1}"+e.runner.host+":"+String(e.runner.port);return(0,p.format)(n,r?e.admin.name+":"+e.admin.password+"@":"")+(t?"/"+e.databaseName:"")},A=function(e,t,r){var n=!0;return Promise.race([e.then((function(){n=!1})),(0,p.timeout)(1e3*t).then((function(){n&&y.warn("Timeout of",String(t)+".","seconds reached while waiting for "+r+".")}))])},S=function(e){for(var t=e.property.name.special,r=t.role,n=t.attachment,a={},o=_(e),s=0,c=Object.entries(o);s<c.length;s++){var u=c[s],l=u[0],d=u[1];if(d[r]){a[l]=i()({properties:{}},E(d[r]));for(var f=0,m=Object.entries(d);f<m.length;f++){var v=m[f],h=v[0],y=v[1];if((0,p.isObject)(y))if(h===n){a[l].attachments={};for(var b=0,g=Object.entries(y);b<g.length;b++){var x=g[b],w=x[0],k=x[1];k.roles&&(a[l].attachments[w]=E(k.roles))}}else y.roles&&(a[l].properties[h]=E(y.roles))}}}return a},I=function(e){return(0,p.isObject)(e)},T=function(e,t){var r=e.property.name.special;return Object.keys(t).filter((function(n){var a=t[n];return I(a)&&Object.prototype.hasOwnProperty.call(a,"index")&&a.index||I(a)&&!(Object.prototype.hasOwnProperty.call(a,"index")&&!a.index||e.property.name.reserved.concat(r.additional,r.role,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,r.updateStrategy).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()},D=function(e,t,r){void 0===r&&(r="in-place");var n=t.entities,a=t.property.name.special.extend;if(Object.prototype.hasOwnProperty.call(n,"_base")&&(Object.prototype.hasOwnProperty.call(e,a)&&e[a]&&![].concat(e[a]).includes("_base")?e[a]=["_base"].concat(e[a]):e[a]="_base"),Object.prototype.hasOwnProperty.call(e,a)){for(var i,o=[].concat(e[a]),s=m(o);!(i=s()).done;){var c=i.value;"_base"!==c&&D(n[c],t,c),(0,p.extend)(!0,e,n[c],(0,p.copy)(e)),e[a]=o}delete e[a]}return P(e,t),e},P=function(e,t){for(var r=t.property.name.special,n=0,a=Object.entries(e);n<a.length;n++){var i=a[n],o=i[0],s=i[1];if(o===r.attachment)for(var c=s,u=0,l=Object.entries(c);u<l.length;u++){var d=l[u],f=d[0],v=d[1];c[f]=(0,p.extend)(!0,(0,p.copy)(t.property.defaultDefinition),v)}else if(![r.role,r.constraint.execution,r.constraint.expression,r.extend,r.maximumAggregatedSize,r.minimumAggregatedSize,r.oldType].includes(o)){var h=(0,p.extend)(!0,(0,p.copy)(t.property.defaultDefinition),s);e[o]=h;for(var y,b=m([].concat(h.type));!(y=b()).done;){var g=y.value;Array.isArray(g)||"object"!=typeof g||(h.type=D(g,t))}}}return e},_=function(e){for(var t=e.entities,r=e.property.name.typePattern,n=0,a=Object.keys(t);n<a.length;n++){var i=a[n];if(!new RegExp(r.public).test(i)&&!new RegExp(r.private).test(i))throw new Error('Model names have to match "'+r.public+'" or "'+r.private+'" for xprivate one (given name: "'+i+'").');"_base"!==i&&D(t[i],e,i)}return t},E=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];if(Object.prototype.hasOwnProperty.call(e,a)){var i=e[a];Array.isArray(i)?t[a]=i:"string"==typeof i&&(t[a]=[i])}}return t}return{read:[e],write:[e]}};module.exports=n})();
|