insite-db 2.2.1 → 2.2.3

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 (2) hide show
  1. package/dist/index.js +2 -2
  2. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import{MongoClient as B}from"mongodb";function p(e=1,t=4){let r=" ".repeat(t),o={};Error.captureStackTrace(o,p);let n=o.stack.replace(/^Error\W+/m,"").replaceAll(/^\s+/gm,"").split(`
2
2
  `).slice(e).join(`
3
- ${r}`);return`${r}${n}`}function m(){}function M(e,t=0,r={}){let{leading:o=!1,trailing:n=!0}=r,{maxWait:s=1/0}=r,i,c,x,C,w,d,a,y,$=async()=>{let u=Date.now();u>=x?(i=void 0,x=void 0,clearTimeout(c),typeof a=="function"&&await a(),l.resolve(y),l.promise.isResolved=!0,d=o):(clearTimeout(i),i=setTimeout($,x-u))},S=Number.isFinite(s)?()=>{a===f&&(a=!1),f(),c=setTimeout(S,s)}:null;async function f(){return y=await e.apply(C,w)}o&&typeof o=="boolean"&&(o=f),d=o,n&&typeof n=="boolean"&&(n=f),a=n;let l=Object.assign(function(...u){return w=u,C=this,x=Date.now()+t,a=n,l.promise.isResolved&&(l.promise=Object.assign(new Promise(k=>{l.resolve=k,typeof d=="function"&&(d(),d=!1,a===f&&(a=!1)),i||(i=setTimeout($,t),S&&(c=setTimeout(S,s)))}),{isResolved:!1})),l.promise},{callback:e,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:m,run:f,clear:async u=>{clearTimeout(i),i=void 0,clearTimeout(c),l.promise.isResolved=!0,l.resolve(u?await f():y)}});return l}M.noop=Object.assign(()=>{},{callback:m,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:m,run:m,clear:m});function v(e,t,r,o,n=!0){return Array.isArray(e)&&(e=e.length),typeof o!="string"&&(n=o??!0,o=r),(n?`${e}\xA0`:"")+v.raw(e,t,r,o)}v.raw=(e,t,r,o=r)=>{e=Math.abs(e);let n=e%10,s=e%100;return n===1&&s!==11?t:n>=2&&n<=4&&!(s>=12&&s<=15)?r:o};function O(e,t){let r={...e};for(let o of t)delete r[o];return r}import{ObjectId as j}from"mongodb";function Co(){return new j().toString()}function T(e){let t=[];switch(e.operationType){case"insert":case"replace":t.push("fullDocument:",e.fullDocument);break;case"update":t.push("_id:",e.documentKey._id,`
3
+ ${r}`);return`${r}${n}`}function m(){}function M(e,t=0,r={}){let{leading:o=!1,trailing:n=!0}=r,{maxWait:s=1/0}=r,i,c,x,C,w,d,f,y,$=async()=>{let u=Date.now();u>=x?(i=void 0,x=void 0,clearTimeout(c),typeof f=="function"&&await f(),l.resolve(y),l.promise.isResolved=!0,d=o):(clearTimeout(i),i=setTimeout($,x-u))},S=Number.isFinite(s)?()=>{f===a&&(f=!1),a(),c=setTimeout(S,s)}:null;async function a(){return y=await e.apply(C,w)}o&&typeof o=="boolean"&&(o=a),d=o,n&&typeof n=="boolean"&&(n=a),f=n;let l=Object.assign(function(...u){return w=u,C=this,x=Date.now()+t,f=n,l.promise.isResolved&&(l.promise=Object.assign(new Promise(D=>{l.resolve=D,typeof d=="function"&&(d(),d=!1,f===a&&(f=!1)),i||(i=setTimeout($,t),S&&(c=setTimeout(S,s)))}),{isResolved:!1})),l.promise},{callback:e,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:m,run:a,clear:async u=>{clearTimeout(i),i=void 0,clearTimeout(c),l.promise.isResolved=!0,l.resolve(u?await a():y)}});return l}M.noop=Object.assign(()=>{},{callback:m,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:m,run:m,clear:m});function v(e,t,r,o,n=!0){return Array.isArray(e)&&(e=e.length),typeof o!="string"&&(n=o??!0,o=r),(n?`${e}\xA0`:"")+v.raw(e,t,r,o)}v.raw=(e,t,r,o=r)=>{e=Math.abs(e);let n=e%10,s=e%100;return n===1&&s!==11?t:n>=2&&n<=4&&!(s>=12&&s<=15)?r:o};function O(e,t){let r={...e};for(let o of t)delete r[o];return r}import{ObjectId as j}from"mongodb";function Co(){return new j().toString()}function T(e){let t=[];switch(e.operationType){case"insert":case"replace":t.push("fullDocument:",e.fullDocument);break;case"update":t.push("_id:",e.documentKey._id,`
4
4
  `,"updateDescription:",e.updateDescription);break;case"delete":t.push("_id:",e.documentKey._id);break;default:t.push(e)}console.info("\u{1F33F}\u{1F38F}",`\x1B[1m${this.parent.collectionName}\x1B[0m`,`\x1B[3m${e.operationType}\x1B[0m`,...t)}function b(e){console.error(`\u{1F33F}\u2757\uFE0F MongoDB ${this.parent.collectionName} Change Stream:
5
5
  `,e.stack)}var g=class extends Map{constructor(t){super(),this.db=t}db;#e=new Map;#t=new Map;#o=new Map;async ensure(t,r={}){let{db:o}=this,n=this.get(t)??await this.#e.get(t);if(!n){let{promise:s,resolve:i}=Promise.withResolvers();if(this.#e.set(t,s),(await o.listCollections({name:t},{nameOnly:!0}).toArray()).length?n=o.collection(t):(n=await o.createCollection(t,{...r.schema&&{validator:{$jsonSchema:r.schema}},...r.blockCompressor&&{storageEngine:{wiredTiger:{configString:`block_compressor=${r.blockCompressor}`}}}}),delete r.schema,delete r.blockCompressor),r.watch!==!1){let c=n.watch(void 0,{fullDocument:r.fullDocument===!1?void 0:"updateLookup"});(process.env.NODE_ENV==="development"?r.quiet!==!0:!r.quiet)&&c.on("change",T),c.on("error",b),n.changeStream=c}this.set(t,n),this[t]=n,i(n),this.#e.delete(t)}return r.schema&&(this.#t.has(t)?console.warn(`\u{1F33F}\u26A0\uFE0F Attempt to set schema for the \x1B[1m${t}\x1B[22m collection at
6
6
  ${p()}
@@ -14,5 +14,5 @@ ${p()}
14
14
  Which have already been set at
15
15
  ${this.#o.get(t)}
16
16
 
17
- Skipping`):(this.#o.set(t,p()),await n.ensureIndexes(r.indexes))),n}};async function Do({url:e,name:t,...r}){/localhost/.test(e)&&(e=e.replace(/localhost/,"127.0.0.1"));let o=new B(e,{maxPoolSize:100,...r});try{await o.connect(),console.info("\u{1F33F} MongoDB Client connected to",e.replace(/(?<=\/\/)[^:]+?:[^@]+@/,"").replace(/[/?][^/]*$/,""))}catch(i){console.error("\u{1F33F}\u2757\uFE0F MongoDB Client connection: ",i)}o.on("close",()=>console.error("\u{1F33F}\u2757\uFE0F MongoDB socket closed")).on("error",i=>console.error("\u{1F33F}\u2757\uFE0F MongoDB:",i)).on("parseError",i=>console.error("\u{1F33F}\u2757\uFE0F MongoDB parse:",i)).on("reconnect",()=>console.info("\u{1F33F} MongoDB reconnected")).on("timeout",()=>console.error("\u{1F33F}\u2757\uFE0F MongoDB timeout"));let n=o.db(t),s=new g(n);return{client:o,db:n,collections:s}}import{isDeepStrictEqual as D}from"node:util";import{Collection as h}from"mongodb";var I=2;h.prototype.ensureIndexes=async function(e,t=!1){if(t){let r=await this.indexes();for(let o=0;o<e.length;o++){let[n,s={}]=e[o];for(let i=0;i<r.length;i++){let c=r[i];if(D(n,c.key)&&D(s,O(c,["v","key","name"]))){e.splice(o--,1),r.splice(i,1);break}}}await Promise.all([...e.map(o=>this.createIndex(...o)),...r.filter(({name:o,v:n})=>o&&o!=="_id_"&&(!n||n<=I)).map(({name:o})=>this.dropIndex(o))])}else await Promise.all(e.map(r=>this.createIndex(...r)))};h.prototype.onChange=function(e){return this.changeStream.on("change",e),this};h.prototype.prependChange=function(e){return this.changeStream.prependListener("change",e),this};h.prototype.onceChange=function(e){return this.changeStream.once("change",e),this};h.prototype.prependOnceChange=function(e){return this.changeStream.prependOnceListener("change",e),this};h.prototype.removeChangeListener=function(e){return this.changeStream.removeListener("change",e),this};export*from"mongodb";export{Do as connect,Co as newObjectIdString,T as printChangeStreamChangeDetails,b as printChangeStreamError};
17
+ Skipping`):(this.#o.set(t,p()),await n.ensureIndexes(r.indexes))),n}};async function ko({url:e,name:t,...r}){/localhost/.test(e)&&(e=e.replace(/localhost/,"127.0.0.1"));let o=new B(e,{maxPoolSize:100,...r});try{await o.connect(),console.info("\u{1F33F} MongoDB Client connected to",e.replace(/(?<=\/\/)[^:]+?:[^@]+@/,"").replace(/[/?][^/]*$/,""))}catch(i){console.error("\u{1F33F}\u2757\uFE0F MongoDB Client connection: ",i)}o.on("close",()=>console.error("\u{1F33F}\u2757\uFE0F MongoDB socket closed")).on("error",i=>console.error("\u{1F33F}\u2757\uFE0F MongoDB:",i)).on("parseError",i=>console.error("\u{1F33F}\u2757\uFE0F MongoDB parse:",i)).on("reconnect",()=>console.info("\u{1F33F} MongoDB reconnected")).on("timeout",()=>console.error("\u{1F33F}\u2757\uFE0F MongoDB timeout"));let n=o.db(t),s=new g(n);return{client:o,db:n,collections:s}}import{isDeepStrictEqual as k}from"node:util";import{Collection as h}from"mongodb";var I=2;h.prototype.ensureIndexes=async function(e,t=!1){if(t){let r=await this.indexes();for(let o=0;o<e.length;o++){let[n,s={}]=e[o];for(let i=0;i<r.length;i++){let c=r[i];if(k(n,c.key)&&k(s,O(c,["v","key","name"]))){e.splice(o--,1),r.splice(i,1);break}}}await Promise.all([...e.map(o=>this.createIndex(...o)),...r.filter(({name:o,v:n})=>o&&o!=="_id_"&&(!n||n<=I)).map(({name:o})=>this.dropIndex(o))])}else await Promise.all(e.map(r=>this.createIndex(...r)))};h.prototype.onChange=function(e){return this.changeStream.on("change",e),this};h.prototype.prependChange=function(e){return this.changeStream.prependListener("change",e),this};h.prototype.onceChange=function(e){return this.changeStream.once("change",e),this};h.prototype.prependOnceChange=function(e){return this.changeStream.prependOnceListener("change",e),this};h.prototype.removeChangeListener=function(e){return this.changeStream.removeListener("change",e),this};export*from"mongodb";export{ko as connect,Co as newObjectIdString,T as printChangeStreamChangeDetails,b as printChangeStreamError};
18
18
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "insite-db",
3
- "version": "2.2.1",
3
+ "version": "2.2.3",
4
4
  "description": "MongoDB for inSite",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",
8
- "packageManager": "bun@1.2.5",
8
+ "packageManager": "bun@1.2.9",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1",
11
11
  "build": "bun .conveyer.js",
@@ -23,14 +23,14 @@
23
23
  "author": "Eugene Nesvetaev <dev@nesvet.dev> (https://nesvet.dev/)",
24
24
  "license": "MIT",
25
25
  "dependencies": {
26
- "@nesvet/n": "^1.1.26",
27
- "mongodb": "^6.14.2"
26
+ "@nesvet/n": "^1.1.29",
27
+ "mongodb": "^6.15.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@nesvet/conveyer": "^2.5.0",
31
- "@nesvet/eslint-config": "^2.0.48",
30
+ "@nesvet/conveyer": "^2.5.1",
31
+ "@nesvet/eslint-config": "^2.0.52",
32
32
  "@types/json-schema": "^7.0.15",
33
- "@types/node": "^22.13.10",
34
- "typescript": "^5.8.2"
33
+ "@types/node": "^22.14.1",
34
+ "typescript": "^5.8.3"
35
35
  }
36
36
  }