mongolite-ts 0.1.0
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/LICENSE +21 -0
- package/README.md +256 -0
- package/dist/collection.d.ts +114 -0
- package/dist/collection.js +643 -0
- package/dist/collection.js.map +1 -0
- package/dist/db.d.ts +74 -0
- package/dist/db.js +183 -0
- package/dist/db.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +57 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +118 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":";;;AAAA,+BAAoC;AAoBpC;;GAEG;AACH,MAAa,UAAU;IAUrB,YACU,EAAY,EACZ,cAAsB,EAC9B,aAAwB;QAFhB,OAAE,GAAF,EAAE,CAAU;QACZ,mBAAc,GAAd,cAAc,CAAQ;QAPxB,eAAU,GAAkB,IAAI,CAAC;QACjC,cAAS,GAAkB,IAAI,CAAC;QAChC,iBAAY,GAA2B,IAAI,CAAC;QAC5C,qBAAgB,GAAyB,IAAI,CAAC;QAOpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;IAC3C,CAAC;IAEO,gBAAgB,CAAC,MAAiB,EAAE,MAAiB;QAC3D,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,4DAA4D;QAC5D,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI;iBAC9B,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC;iBACnE,IAAI,CAAC,OAAO,CAAC,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG;iBAC5B,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC;iBACnE,IAAI,CAAC,MAAM,CAAC,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI;iBAC9B,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC;iBACnE,IAAI,CAAC,MAAM,CAAC,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,QAAQ,aAAa,GAAG,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS,CAAC,yCAAyC;gBAE5E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAsB,CAAC,CAAC;gBAC7C,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;oBAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC;yBAAM,IACL,OAAO,KAAK,KAAK,QAAQ;wBACzB,KAAK,KAAK,IAAI;wBACb,KAAgC,CAAC,GAAG,EACrC,CAAC;wBACD,MAAM,QAAQ,GAAI,KAAgC,CAAC,GAAe,CAAC;wBACnE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACxB,UAAU,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BACjE,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;wBAC3B,CAAC;6BAAM,CAAC;4BACN,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,yCAAyC;wBACnE,CAAC;oBACH,CAAC;yBAAM,IACL,OAAO,KAAK,KAAK,QAAQ;wBACzB,KAAK,KAAK,IAAI;wBACb,KAAgC,CAAC,GAAG,EACrC,CAAC;wBACD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC5B,MAAM,CAAC,IAAI,CAAE,KAAgC,CAAC,GAAG,CAAC,CAAC;oBACrD,CAAC;oBACD,6CAA6C;gBAC/C,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAChD,0DAA0D;wBAC1D,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;4BACvB,MAAM,OAAO,GAAI,KAA6B,CAAC,EAA+B,CAAC,CAAC;4BAChF,QAAQ,EAAE,EAAE,CAAC;gCACX,KAAK,KAAK;oCACR,UAAU,CAAC,IAAI,CAAC,sBAAsB,QAAQ,aAAa,CAAC,CAAC;oCAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oCACrC,MAAM;gCACR,KAAK,KAAK;oCACR,UAAU,CAAC,IAAI,CAAC,sBAAsB,QAAQ,cAAc,CAAC,CAAC;oCAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oCACrC,MAAM;gCACR,KAAK,KAAK;oCACR,UAAU,CAAC,IAAI,CAAC,sBAAsB,QAAQ,aAAa,CAAC,CAAC;oCAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oCACrC,MAAM;gCACR,KAAK,MAAM;oCACT,UAAU,CAAC,IAAI,CAAC,sBAAsB,QAAQ,cAAc,CAAC,CAAC;oCAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oCACrC,MAAM;gCACR,KAAK,KAAK;oCACR,UAAU,CAAC,IAAI,CAAC,sBAAsB,QAAQ,aAAa,CAAC,CAAC;oCAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oCACrC,MAAM;gCACR,KAAK,MAAM;oCACT,UAAU,CAAC,IAAI,CAAC,sBAAsB,QAAQ,cAAc,CAAC,CAAC;oCAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oCACrC,MAAM;gCACR,KAAK,KAAK;oCACR,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wCACjD,MAAM,YAAY,GAAG,OAAO;6CACzB,GAAG,CAAC,GAAG,EAAE,CAAC,sBAAsB,QAAQ,aAAa,CAAC;6CACtD,IAAI,CAAC,MAAM,CAAC,CAAC;wCAChB,UAAU,CAAC,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;wCACrC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oCAC7D,CAAC;yCAAM,CAAC;wCACN,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,sCAAsC;oCAChE,CAAC;oCACD,MAAM;gCACR,KAAK,MAAM;oCACT,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wCACjD,MAAM,aAAa,GAAG,OAAO;6CAC1B,GAAG,CAAC,GAAG,EAAE,CAAC,sBAAsB,QAAQ,cAAc,CAAC;6CACvD,IAAI,CAAC,OAAO,CAAC,CAAC;wCACjB,UAAU,CAAC,IAAI,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;wCACtC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oCAC7D,CAAC;oCACD,kEAAkE;oCAClE,MAAM;gCACR,KAAK,SAAS;oCACZ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;wCACrB,UAAU,CAAC,IAAI,CAAC,sBAAsB,QAAQ,eAAe,CAAC,CAAC;oCACjE,CAAC;yCAAM,CAAC;wCACN,UAAU,CAAC,IAAI,CAAC,sBAAsB,QAAQ,WAAW,CAAC,CAAC;oCAC7D,CAAC;oCACD,MAAM;gCACR,gCAAgC;4BAClC,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,wCAAwC;wBACxC,UAAU,CAAC,IAAI,CAAC,sBAAsB,QAAQ,aAAa,CAAC,CAAC;wBAC7D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,CAAC;IAEO,gBAAgB,CAAC,MAAiB;QACxC,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,0BAA0B,IAAI,CAAC,cAAc,WAAW,WAAW,EAAE,CAAC;QAClF,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAa;QACxB,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,KAAa;QACvB,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,YAA6B;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,UAAyB;QACtC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe,CAAC,GAAM;QAC5B,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,GAAG,CAAC;QAEvC,MAAM,YAAY,GAAe,EAAE,CAAC;QACpC,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,kEAAkE;QAC1F,IAAI,oBAAoB,GAAG,KAAK,CAAC;QAEjC,yDAAyD;QACzD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxC,IAAI,GAAG,KAAK,KAAK;gBAAE,SAAS;YAC5B,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,oBAAoB,GAAG,IAAI,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,WAAW,GAAG,KAAK,CAAC;gBACpB,4EAA4E;YAC9E,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC7D,kEAAkE;YAClE,2EAA2E;YAC3E,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,IAAI,oBAAoB,EAAE,CAAC;YAChC,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,iBAAiB;YACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACtB,2DAA2D;wBAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC5B,IAAI,OAAO,GAAQ,GAAG,CAAC;wBACvB,IAAI,MAAM,GAAQ,YAAY,CAAC;wBAE/B,0CAA0C;wBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;4BACzC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;4BACxB,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS;gCAAE,MAAM;4BAE1C,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;gCAClC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;4BACvB,CAAC;4BAED,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;4BAC3B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC3B,CAAC;wBAED,0CAA0C;wBAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC1C,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;4BAClD,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;wBAC7C,CAAC;oBACH,CAAC;yBAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;wBACtB,YAAY,CAAC,GAAc,CAAC,GAAG,GAAG,CAAC,GAAc,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,2EAA2E;YAC3E,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;gBACpD,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iBAAiB;YACjB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACtB,2DAA2D;wBAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC5B,IAAI,OAAO,GAAQ,YAAY,CAAC;wBAEhC,oDAAoD;wBACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;4BACzC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;4BACxB,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS;gCAAE,MAAM;4BAC1C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC7B,CAAC;wBAED,qDAAqD;wBACrD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC1C,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;4BAClD,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,YAAY,CAAC,GAAc,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACnC,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC3E,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;oBACpB,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC/C,CAAC;gBACD,OAAO,sBAAsB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC5F,CAAC,CAAC,CAAC;YACH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,QAAQ,IAAI,aAAa,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,QAAQ,IAAI,UAAU,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC7B,6CAA6C;gBAC7C,oDAAoD;gBACpD,QAAQ,IAAI,WAAW,CAAC,CAAC,mCAAmC;YAC9D,CAAC;YACD,QAAQ,IAAI,WAAW,CAAC;YACxB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAY,QAAQ,EAAE,WAAW,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAO,CAAC;YAC3D,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA5UD,gCA4UC;AAED;;;GAGG;AACH,MAAa,mBAAmB;IAC9B,YACU,EAAY,EACJ,IAAY;QADpB,OAAE,GAAF,EAAE,CAAU;QACJ,SAAI,GAAJ,IAAI,CAAQ;QAE5B,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,wDAAwD;YACxD,+DAA+D;YAC/D,gEAAgE;YAChE,uDAAuD;YACvD,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,IAAI,UAAU,EAAE,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW;QACtB,kFAAkF;QAClF,MAAM,cAAc,GAAG;oCACS,IAAI,CAAC,IAAI;;;;KAIxC,CAAC;QACF,uGAAuG;QACvG,oEAAoE;QACpE,2GAA2G;QAC3G,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,sEAAsE;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC,CAAC,qCAAqC;QACpD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,GAAsC;QACpD,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,oCAAoC;QAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,IAAA,SAAM,GAAE,CAAC;QAClC,6DAA6D;QAC7D,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,+CAA+C;QAEvG,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE7C,MAAM,GAAG,GAAG,gBAAgB,IAAI,CAAC,IAAI,6BAA6B,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1C,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mFAAmF;YACnF,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;YACpE,iEAAiE;YACjE,IAAK,KAA+B,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,KAAK,CAAC,CAAC,wBAAwB;QACvC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,MAAiB,EAAE,UAA0B;QACzD,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,SAAoB,EAAE;QACzB,sEAAsE;QACtE,OAAO,IAAI,UAAU,CAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,MAAiB,EAAE,MAAuB;QACxD,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,qCAAqC;QACrC,MAAM,eAAe,GAAc,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,UAAU,CAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,CACnF,MAAM,EACN,eAAe,CAChB,CAAC;QACF,MAAM,SAAS,GAAG,0BAA0B,IAAI,CAAC,IAAI,WAAW,WAAW,UAAU,CAAC;QAEtF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAY,SAAS,EAAE,eAAe,CAAC,CAAC;QAE7E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACrF,CAAC;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,2BAA2B;QAC3B,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAiC,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,MAAM;oBACT,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;wBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC3B,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;wBAC7C,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;oBACD,MAAM;gBAER,KAAK,QAAQ;oBACX,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;wBAC1B,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;wBACxC,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;oBACD,MAAM;gBAER,KAAK,MAAM;oBACT,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;wBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;4BAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;4BAChE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gCACrC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,KAAK,CAAC,CAAC;gCAC5D,QAAQ,GAAG,IAAI,CAAC;4BAClB,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,MAAM;gBAER,KAAK,OAAO;oBACV,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;wBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;wBAE3D,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;4BAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gCACpE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oCAC/B,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;oCAClC,QAAQ,GAAG,IAAI,CAAC;gCAClB,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gCACzB,QAAQ,GAAG,IAAI,CAAC;4BAClB,CAAC;wBACH,CAAC;6BAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;4BACtC,oDAAoD;4BACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gCACpE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oCAC/B,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oCACxD,QAAQ,GAAG,IAAI,CAAC;gCAClB,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gCAC/C,QAAQ,GAAG,IAAI,CAAC;4BAClB,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,MAAM;gBAER,KAAK,OAAO;oBACV,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;wBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;wBAE3D,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;4BAChC,uBAAuB;4BACvB,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gCAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oCAC1D,iDAAiD;oCACjD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gCACxD,CAAC;gCACD,OAAO,IAAI,KAAK,KAAK,CAAC;4BACxB,CAAC,CAAC,CAAC;4BAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;gCAC5C,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gCAChD,QAAQ,GAAG,IAAI,CAAC;4BAClB,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,wBAAwB;YACxB,MAAM,gBAAgB,GAAG,kCAAkC,IAAI,CAAC,IAAI,WAAW,WAAW,EAAE,CAAC;YAC7F,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAoB,gBAAgB,EAAE,eAAe,CAAC,CAAC;YAC9F,MAAM,YAAY,GAAG,aAAa,EAAE,KAAK,IAAI,CAAC,CAAC;YAE/C,gCAAgC;YAChC,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,IAAI,8BAA8B,CAAC;YACrE,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YAEnE,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC3C,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,YAAY;gBAC3B,UAAU,EAAE,IAAI,EAAE,8BAA8B;aACjD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC,EAAE,uBAAuB;YACzC,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,8DAA8D;IACtD,cAAc,CAAC,GAAQ,EAAE,IAAY,EAAE,KAAU;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO,GAAG,GAAG,CAAC;QAElB,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,4CAA4C;YAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACpB,CAAC;iBAAM,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC5C,4EAA4E;gBAC5E,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACpB,CAAC;YAED,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,iCAAiC;QACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,oBAAoB;IACpB,8DAA8D;IACtD,gBAAgB,CAAC,GAAQ,EAAE,IAAY;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO,GAAG,GAAG,CAAC;QAElB,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC5F,OAAO,CAAC,uCAAuC;YACjD,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,uCAAuC;QACvC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,6BAA6B;IAC7B,8DAA8D;IACtD,cAAc,CAAC,GAAQ,EAAE,IAAY;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO,GAAG,GAAG,CAAC;QAElB,4BAA4B;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,SAAS,CAAC,CAAC,qBAAqB;YACzC,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,MAAiB;QAC/B,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,MAAM,eAAe,GAAc,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,UAAU,CAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,CACnF,MAAM,EACN,eAAe,CAChB,CAAC;QAEF,oDAAoD;QACpD,MAAM,QAAQ,GAAG,kCAAkC,IAAI,CAAC,IAAI,WAAW,WAAW,EAAE,CAAC;QACrF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAoB,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEpF,MAAM,SAAS,GAAG;qBACD,IAAI,CAAC,IAAI;2CACa,IAAI,CAAC,IAAI,WAAW,WAAW;KACrE,CAAC;QAEF,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC9C,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAiB;QAChC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,MAAM,eAAe,GAAc,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,UAAU,CAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,CACnF,MAAM,EACN,eAAe,CAChB,CAAC;QACF,MAAM,SAAS,GAAG,gBAAgB,IAAI,CAAC,IAAI,WAAW,WAAW,EAAE,CAAC;QAEpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC7D,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,SAAoB,EAAE;QACzC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,MAAM,cAAc,GAAc,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,UAAU,CAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,CACnF,MAAM,EACN,cAAc,CACf,CAAC;QACF,MAAM,QAAQ,GAAG,kCAAkC,IAAI,CAAC,IAAI,WAAW,WAAW,EAAE,CAAC;QAErF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAoB,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC9E,OAAO,MAAM,EAAE,KAAK,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF;AA1WD,kDA0WC"}
|
package/dist/db.d.ts
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import sqlite3 from 'sqlite3';
|
|
2
|
+
export interface MongoLiteOptions {
|
|
3
|
+
filePath: string;
|
|
4
|
+
verbose?: boolean;
|
|
5
|
+
readOnly?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* SQLiteDB class provides a wrapper around the sqlite3 library
|
|
9
|
+
* to simplify database operations using Promises.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SQLiteDB {
|
|
12
|
+
private db;
|
|
13
|
+
private readonly filePath;
|
|
14
|
+
private readonly verbose;
|
|
15
|
+
private readonly readOnly;
|
|
16
|
+
private openPromise;
|
|
17
|
+
/**
|
|
18
|
+
* Creates an instance of SQLiteDB.
|
|
19
|
+
* @param {string | MongoLiteOptions} dbPathOrOptions - The path to the SQLite database file or an options object.
|
|
20
|
+
* Use ':memory:' for an in-memory database.
|
|
21
|
+
*/
|
|
22
|
+
constructor(dbPathOrOptions: string | MongoLiteOptions);
|
|
23
|
+
/**
|
|
24
|
+
* Opens the database connection if it's not already open.
|
|
25
|
+
* @returns {Promise<void>} A promise that resolves when the connection is open.
|
|
26
|
+
*/
|
|
27
|
+
connect(): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Ensures the database connection is open before performing an operation.
|
|
30
|
+
* @private
|
|
31
|
+
* @returns {Promise<Sqlite3Database>} The active database instance.
|
|
32
|
+
* @throws {Error} If the database is not connected.
|
|
33
|
+
*/
|
|
34
|
+
private ensureConnected;
|
|
35
|
+
/**
|
|
36
|
+
* Executes a SQL query that does not return rows (e.g., INSERT, UPDATE, DELETE, CREATE).
|
|
37
|
+
* @param {string} sql - The SQL query string.
|
|
38
|
+
* @param {any[]} [params=[]] - Parameters for the SQL query.
|
|
39
|
+
* @returns {Promise<sqlite3.RunResult>} Result of the execution (e.g., lastID, changes).
|
|
40
|
+
*/
|
|
41
|
+
run(sql: string, params?: unknown[]): Promise<sqlite3.RunResult>;
|
|
42
|
+
/**
|
|
43
|
+
* Executes a SQL query that returns a single row.
|
|
44
|
+
* @param {string} sql - The SQL query string.
|
|
45
|
+
* @param {any[]} [params=[]] - Parameters for the SQL query.
|
|
46
|
+
* @returns {Promise<T | undefined>} The first row found, or undefined.
|
|
47
|
+
*/
|
|
48
|
+
get<T>(sql: string, params?: unknown[]): Promise<T | undefined>;
|
|
49
|
+
/**
|
|
50
|
+
* Executes a SQL query that returns multiple rows.
|
|
51
|
+
* @param {string} sql - The SQL query string.
|
|
52
|
+
* @param {any[]} [params=[]] - Parameters for the SQL query.
|
|
53
|
+
* @returns {Promise<T[]>} An array of rows.
|
|
54
|
+
*/
|
|
55
|
+
all<T>(sql: string, params?: unknown[]): Promise<T[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Executes multiple SQL statements.
|
|
58
|
+
* @param {string} sql - SQL string with multiple statements.
|
|
59
|
+
* @returns {Promise<void>}
|
|
60
|
+
*/
|
|
61
|
+
exec(sql: string): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Closes the database connection.
|
|
64
|
+
* @returns {Promise<void>} A promise that resolves when the connection is closed.
|
|
65
|
+
*/
|
|
66
|
+
close(): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Gets the underlying sqlite3.Database instance.
|
|
69
|
+
* Useful for operations not covered by this wrapper, like transactions.
|
|
70
|
+
* @returns {Promise<sqlite3.Database>} The raw database object.
|
|
71
|
+
* @throws {Error} If the database is not connected.
|
|
72
|
+
*/
|
|
73
|
+
getDbInstance(): Promise<sqlite3.Database>;
|
|
74
|
+
}
|
package/dist/db.js
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SQLiteDB = void 0;
|
|
7
|
+
const sqlite3_1 = __importDefault(require("sqlite3"));
|
|
8
|
+
const util_1 = require("util");
|
|
9
|
+
/**
|
|
10
|
+
* SQLiteDB class provides a wrapper around the sqlite3 library
|
|
11
|
+
* to simplify database operations using Promises.
|
|
12
|
+
*/
|
|
13
|
+
class SQLiteDB {
|
|
14
|
+
/**
|
|
15
|
+
* Creates an instance of SQLiteDB.
|
|
16
|
+
* @param {string | MongoLiteOptions} dbPathOrOptions - The path to the SQLite database file or an options object.
|
|
17
|
+
* Use ':memory:' for an in-memory database.
|
|
18
|
+
*/
|
|
19
|
+
constructor(dbPathOrOptions) {
|
|
20
|
+
this.db = null;
|
|
21
|
+
this.openPromise = null;
|
|
22
|
+
if (typeof dbPathOrOptions === 'string') {
|
|
23
|
+
this.filePath = dbPathOrOptions;
|
|
24
|
+
this.verbose = false;
|
|
25
|
+
this.readOnly = false;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this.filePath = dbPathOrOptions.filePath;
|
|
29
|
+
this.verbose = dbPathOrOptions.verbose || false;
|
|
30
|
+
this.readOnly = dbPathOrOptions.readOnly || false;
|
|
31
|
+
}
|
|
32
|
+
if (this.verbose) {
|
|
33
|
+
sqlite3_1.default.verbose();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Opens the database connection if it's not already open.
|
|
38
|
+
* @returns {Promise<void>} A promise that resolves when the connection is open.
|
|
39
|
+
*/
|
|
40
|
+
async connect() {
|
|
41
|
+
if (this.db && this.openPromise) {
|
|
42
|
+
return this.openPromise;
|
|
43
|
+
}
|
|
44
|
+
if (this.db) {
|
|
45
|
+
// Already connected and openPromise is null (should not happen with proper logic)
|
|
46
|
+
return Promise.resolve();
|
|
47
|
+
}
|
|
48
|
+
this.openPromise = new Promise((resolve, reject) => {
|
|
49
|
+
const mode = this.readOnly
|
|
50
|
+
? sqlite3_1.default.OPEN_READONLY
|
|
51
|
+
: sqlite3_1.default.OPEN_READWRITE | sqlite3_1.default.OPEN_CREATE;
|
|
52
|
+
this.db = new sqlite3_1.default.Database(this.filePath, mode, (err) => {
|
|
53
|
+
if (err) {
|
|
54
|
+
console.error(`Error opening database ${this.filePath}:`, err.message);
|
|
55
|
+
this.db = null; // Ensure db is null on error
|
|
56
|
+
this.openPromise = null;
|
|
57
|
+
return reject(err);
|
|
58
|
+
}
|
|
59
|
+
if (this.verbose) {
|
|
60
|
+
console.log(`SQLite database opened: ${this.filePath}`);
|
|
61
|
+
}
|
|
62
|
+
// Promisify methods for the current db instance
|
|
63
|
+
if (this.db) {
|
|
64
|
+
// Use explicit type casting to ensure proper TypeScript types
|
|
65
|
+
this.db.getAsync = (0, util_1.promisify)(this.db.get).bind(this.db);
|
|
66
|
+
this.db.runAsync = (0, util_1.promisify)(this.db.run).bind(this.db);
|
|
67
|
+
this.db.allAsync = (0, util_1.promisify)(this.db.all).bind(this.db);
|
|
68
|
+
this.db.closeAsync = (0, util_1.promisify)(this.db.close).bind(this.db);
|
|
69
|
+
this.db.execAsync = (0, util_1.promisify)(this.db.exec).bind(this.db);
|
|
70
|
+
}
|
|
71
|
+
resolve();
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
return this.openPromise;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Ensures the database connection is open before performing an operation.
|
|
78
|
+
* @private
|
|
79
|
+
* @returns {Promise<Sqlite3Database>} The active database instance.
|
|
80
|
+
* @throws {Error} If the database is not connected.
|
|
81
|
+
*/
|
|
82
|
+
async ensureConnected() {
|
|
83
|
+
if (!this.db || !this.openPromise) {
|
|
84
|
+
await this.connect();
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
await this.openPromise; // Wait for any ongoing connection attempt
|
|
88
|
+
}
|
|
89
|
+
if (!this.db) {
|
|
90
|
+
// This should ideally not be reached if connect() works correctly
|
|
91
|
+
throw new Error('Database is not connected. Connection attempt failed.');
|
|
92
|
+
}
|
|
93
|
+
return this.db;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Executes a SQL query that does not return rows (e.g., INSERT, UPDATE, DELETE, CREATE).
|
|
97
|
+
* @param {string} sql - The SQL query string.
|
|
98
|
+
* @param {any[]} [params=[]] - Parameters for the SQL query.
|
|
99
|
+
* @returns {Promise<sqlite3.RunResult>} Result of the execution (e.g., lastID, changes).
|
|
100
|
+
*/
|
|
101
|
+
async run(sql, params = []) {
|
|
102
|
+
const dbInstance = await this.ensureConnected();
|
|
103
|
+
if (!dbInstance.runAsync)
|
|
104
|
+
throw new Error('runAsync not initialized');
|
|
105
|
+
return dbInstance.runAsync(sql, params);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Executes a SQL query that returns a single row.
|
|
109
|
+
* @param {string} sql - The SQL query string.
|
|
110
|
+
* @param {any[]} [params=[]] - Parameters for the SQL query.
|
|
111
|
+
* @returns {Promise<T | undefined>} The first row found, or undefined.
|
|
112
|
+
*/
|
|
113
|
+
async get(sql, params = []) {
|
|
114
|
+
const dbInstance = await this.ensureConnected();
|
|
115
|
+
if (!dbInstance.getAsync)
|
|
116
|
+
throw new Error('getAsync not initialized');
|
|
117
|
+
return dbInstance.getAsync(sql, params);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Executes a SQL query that returns multiple rows.
|
|
121
|
+
* @param {string} sql - The SQL query string.
|
|
122
|
+
* @param {any[]} [params=[]] - Parameters for the SQL query.
|
|
123
|
+
* @returns {Promise<T[]>} An array of rows.
|
|
124
|
+
*/
|
|
125
|
+
async all(sql, params = []) {
|
|
126
|
+
const dbInstance = await this.ensureConnected();
|
|
127
|
+
if (!dbInstance.allAsync)
|
|
128
|
+
throw new Error('allAsync not initialized');
|
|
129
|
+
return dbInstance.allAsync(sql, params);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Executes multiple SQL statements.
|
|
133
|
+
* @param {string} sql - SQL string with multiple statements.
|
|
134
|
+
* @returns {Promise<void>}
|
|
135
|
+
*/
|
|
136
|
+
async exec(sql) {
|
|
137
|
+
const dbInstance = await this.ensureConnected();
|
|
138
|
+
if (!dbInstance.execAsync)
|
|
139
|
+
throw new Error('execAsync not initialized');
|
|
140
|
+
return dbInstance.execAsync(sql);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Closes the database connection.
|
|
144
|
+
* @returns {Promise<void>} A promise that resolves when the connection is closed.
|
|
145
|
+
*/
|
|
146
|
+
async close() {
|
|
147
|
+
if (this.openPromise) {
|
|
148
|
+
await this.openPromise; // Ensure any pending connection attempt is finished
|
|
149
|
+
}
|
|
150
|
+
if (this.db && this.db.closeAsync) {
|
|
151
|
+
try {
|
|
152
|
+
await this.db.closeAsync();
|
|
153
|
+
if (this.verbose) {
|
|
154
|
+
console.log(`SQLite database closed: ${this.filePath}`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
catch (err) {
|
|
158
|
+
console.error(`Error closing database ${this.filePath}:`, err.message);
|
|
159
|
+
throw err; // Re-throw the error to indicate failure
|
|
160
|
+
}
|
|
161
|
+
finally {
|
|
162
|
+
this.db = null;
|
|
163
|
+
this.openPromise = null;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
// If db is null, it's already considered closed or was never opened.
|
|
168
|
+
this.db = null;
|
|
169
|
+
this.openPromise = null;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Gets the underlying sqlite3.Database instance.
|
|
174
|
+
* Useful for operations not covered by this wrapper, like transactions.
|
|
175
|
+
* @returns {Promise<sqlite3.Database>} The raw database object.
|
|
176
|
+
* @throws {Error} If the database is not connected.
|
|
177
|
+
*/
|
|
178
|
+
async getDbInstance() {
|
|
179
|
+
return this.ensureConnected();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.SQLiteDB = SQLiteDB;
|
|
183
|
+
//# sourceMappingURL=db.js.map
|
package/dist/db.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { MongoLiteOptions as DBMongoLiteOptions } from './db';
|
|
2
|
+
import { MongoLiteCollection } from './collection';
|
|
3
|
+
import { DocumentWithId } from './types';
|
|
4
|
+
export { MongoLiteCollection } from './collection';
|
|
5
|
+
export * from './types';
|
|
6
|
+
export interface MongoLiteClientOptions extends DBMongoLiteOptions {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* MongoLite class is the main entry point for interacting with the SQLite-backed database.
|
|
10
|
+
*/
|
|
11
|
+
export declare class MongoLite {
|
|
12
|
+
private db;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new MongoLite client instance.
|
|
15
|
+
* @param dbPathOrOptions Path to the SQLite database file or an options object.
|
|
16
|
+
*/
|
|
17
|
+
constructor(dbPathOrOptions: string | MongoLiteClientOptions);
|
|
18
|
+
/**
|
|
19
|
+
* Connects to the database.
|
|
20
|
+
* Note: Most operations will auto-connect if needed.
|
|
21
|
+
*/
|
|
22
|
+
connect(): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Closes the database connection.
|
|
25
|
+
*/
|
|
26
|
+
close(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Gets a collection (table) in the database.
|
|
29
|
+
* @param name The name of the collection.
|
|
30
|
+
* @returns A MongoLiteCollection instance.
|
|
31
|
+
*/
|
|
32
|
+
collection<T extends DocumentWithId = DocumentWithId>(name: string): MongoLiteCollection<T>;
|
|
33
|
+
}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.MongoLite = exports.MongoLiteCollection = void 0;
|
|
18
|
+
const db_1 = require("./db");
|
|
19
|
+
const collection_1 = require("./collection");
|
|
20
|
+
var collection_2 = require("./collection");
|
|
21
|
+
Object.defineProperty(exports, "MongoLiteCollection", { enumerable: true, get: function () { return collection_2.MongoLiteCollection; } });
|
|
22
|
+
__exportStar(require("./types"), exports);
|
|
23
|
+
/**
|
|
24
|
+
* MongoLite class is the main entry point for interacting with the SQLite-backed database.
|
|
25
|
+
*/
|
|
26
|
+
class MongoLite {
|
|
27
|
+
/**
|
|
28
|
+
* Creates a new MongoLite client instance.
|
|
29
|
+
* @param dbPathOrOptions Path to the SQLite database file or an options object.
|
|
30
|
+
*/
|
|
31
|
+
constructor(dbPathOrOptions) {
|
|
32
|
+
this.db = new db_1.SQLiteDB(dbPathOrOptions);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Connects to the database.
|
|
36
|
+
* Note: Most operations will auto-connect if needed.
|
|
37
|
+
*/
|
|
38
|
+
async connect() {
|
|
39
|
+
return this.db.connect();
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Closes the database connection.
|
|
43
|
+
*/
|
|
44
|
+
async close() {
|
|
45
|
+
return this.db.close();
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Gets a collection (table) in the database.
|
|
49
|
+
* @param name The name of the collection.
|
|
50
|
+
* @returns A MongoLiteCollection instance.
|
|
51
|
+
*/
|
|
52
|
+
collection(name) {
|
|
53
|
+
return new collection_1.MongoLiteCollection(this.db, name);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.MongoLite = MongoLite;
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAAwE;AACxE,6CAAmD;AAGnD,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA;AAC5B,0CAAwB;AAIxB;;GAEG;AACH,MAAa,SAAS;IAGpB;;;OAGG;IACH,YAAY,eAAgD;QAC1D,IAAI,CAAC,EAAE,GAAG,IAAI,aAAQ,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAA4C,IAAY;QAChE,OAAO,IAAI,gCAAmB,CAAI,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;CACF;AAlCD,8BAkCC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a document with an optional _id field.
|
|
3
|
+
*/
|
|
4
|
+
export interface DocumentWithId {
|
|
5
|
+
_id?: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Result of insertOne operation.
|
|
10
|
+
*/
|
|
11
|
+
export interface InsertOneResult {
|
|
12
|
+
acknowledged: boolean;
|
|
13
|
+
insertedId: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Result of updateOne operation.
|
|
17
|
+
*/
|
|
18
|
+
export interface UpdateResult {
|
|
19
|
+
acknowledged: boolean;
|
|
20
|
+
matchedCount: number;
|
|
21
|
+
modifiedCount: number;
|
|
22
|
+
upsertedId: string | null;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Result of deleteOne/deleteMany operations.
|
|
26
|
+
*/
|
|
27
|
+
export interface DeleteResult {
|
|
28
|
+
acknowledged: boolean;
|
|
29
|
+
deletedCount: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Operators for filtering documents.
|
|
33
|
+
* T is the type of the field being queried.
|
|
34
|
+
*/
|
|
35
|
+
export interface QueryOperators<T> {
|
|
36
|
+
$eq?: T;
|
|
37
|
+
$ne?: T;
|
|
38
|
+
$gt?: T;
|
|
39
|
+
$gte?: T;
|
|
40
|
+
$lt?: T;
|
|
41
|
+
$lte?: T;
|
|
42
|
+
$in?: T[];
|
|
43
|
+
$nin?: T[];
|
|
44
|
+
$exists?: boolean;
|
|
45
|
+
$not?: QueryOperators<T>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Logical filter operators.
|
|
49
|
+
*/
|
|
50
|
+
export interface LogicalOperators<T> {
|
|
51
|
+
$and?: Filter<T>[];
|
|
52
|
+
$or?: Filter<T>[];
|
|
53
|
+
$nor?: Filter<T>[];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Filter type for querying documents.
|
|
57
|
+
* T is the document type.
|
|
58
|
+
*/
|
|
59
|
+
export type Filter<T> = {
|
|
60
|
+
[P in keyof T]?: T[P] | QueryOperators<T[P]>;
|
|
61
|
+
} & {
|
|
62
|
+
[key: string]: any;
|
|
63
|
+
} & Partial<LogicalOperators<T>>;
|
|
64
|
+
/**
|
|
65
|
+
* Operators for updating documents.
|
|
66
|
+
* T is the document type.
|
|
67
|
+
*/
|
|
68
|
+
export interface UpdateOperators<T> {
|
|
69
|
+
$set?: {
|
|
70
|
+
[P in keyof T]?: T[P];
|
|
71
|
+
} & {
|
|
72
|
+
[key: string]: any;
|
|
73
|
+
};
|
|
74
|
+
$unset?: {
|
|
75
|
+
[P in keyof T]?: "";
|
|
76
|
+
} & {
|
|
77
|
+
[key: string]: "";
|
|
78
|
+
};
|
|
79
|
+
$inc?: {
|
|
80
|
+
[P in keyof T]?: number;
|
|
81
|
+
} & {
|
|
82
|
+
[key: string]: number;
|
|
83
|
+
};
|
|
84
|
+
$push?: {
|
|
85
|
+
[P in keyof T]?: any | {
|
|
86
|
+
$each: any[];
|
|
87
|
+
};
|
|
88
|
+
} & {
|
|
89
|
+
[key: string]: any | {
|
|
90
|
+
$each: any[];
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
$pull?: {
|
|
94
|
+
[P in keyof T]?: any;
|
|
95
|
+
} & {
|
|
96
|
+
[key: string]: any;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* UpdateFilter type for updating documents.
|
|
101
|
+
*/
|
|
102
|
+
export type UpdateFilter<T> = Partial<UpdateOperators<T>>;
|
|
103
|
+
/**
|
|
104
|
+
* SortCriteria type for sorting documents.
|
|
105
|
+
*/
|
|
106
|
+
export type SortCriteria<T> = {
|
|
107
|
+
[P in keyof T]?: 1 | -1;
|
|
108
|
+
} & {
|
|
109
|
+
[key: string]: 1 | -1;
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Projection type for selecting fields.
|
|
113
|
+
*/
|
|
114
|
+
export type Projection<T> = {
|
|
115
|
+
[P in keyof T]?: 0 | 1;
|
|
116
|
+
} & {
|
|
117
|
+
[key: string]: 0 | 1;
|
|
118
|
+
};
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mongolite-ts",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "A MongoDB-like client using SQLite as a persistent store, written in TypeScript.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"test": "node --test --require ts-node/register tests/**/*.test.ts",
|
|
10
|
+
"test:watch": "node --test --watch --require ts-node/register tests/**/*.test.ts",
|
|
11
|
+
"test:coverage": "node --test --experimental-test-coverage --require ts-node/register tests/**/*.test.ts",
|
|
12
|
+
"prepare": "npm run build",
|
|
13
|
+
"lint": "eslint src/**/*.ts tests/**/*.ts",
|
|
14
|
+
"lint:fix": "eslint src/**/*.ts tests/**/*.ts --fix"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/YOUR_USERNAME/mongolite-ts.git"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"mongodb",
|
|
22
|
+
"sqlite",
|
|
23
|
+
"database",
|
|
24
|
+
"client",
|
|
25
|
+
"typescript",
|
|
26
|
+
"nosql",
|
|
27
|
+
"json"
|
|
28
|
+
],
|
|
29
|
+
"author": "Your Name <your.email@example.com>",
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"bugs": {
|
|
32
|
+
"url": "https://github.com/YOUR_USERNAME/mongolite-ts/issues"
|
|
33
|
+
},
|
|
34
|
+
"homepage": "https://github.com/YOUR_USERNAME/mongolite-ts#readme",
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/node": "^20.17.57",
|
|
37
|
+
"@types/sqlite3": "^3.1.11",
|
|
38
|
+
"@typescript-eslint/eslint-plugin": "^7.9.0",
|
|
39
|
+
"@typescript-eslint/parser": "^7.9.0",
|
|
40
|
+
"eslint": "^8.57.0",
|
|
41
|
+
"eslint-config-prettier": "^9.1.0",
|
|
42
|
+
"eslint-plugin-prettier": "^5.1.3",
|
|
43
|
+
"prettier": "^3.2.5",
|
|
44
|
+
"sqlite3": "^5.1.7",
|
|
45
|
+
"ts-node": "^10.9.2",
|
|
46
|
+
"tsx": "^4.19.4",
|
|
47
|
+
"typescript": "^5.4.5"
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@types/uuid": "^9.0.8",
|
|
51
|
+
"uuid": "^9.0.1"
|
|
52
|
+
},
|
|
53
|
+
"files": [
|
|
54
|
+
"dist/**/*",
|
|
55
|
+
"README.md"
|
|
56
|
+
],
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">=18.0.0"
|
|
59
|
+
}
|
|
60
|
+
}
|