nanodb-orm 0.0.1

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 (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +288 -0
  3. package/dist/constants/index.d.ts +59 -0
  4. package/dist/constants/index.d.ts.map +1 -0
  5. package/dist/constants/index.js +67 -0
  6. package/dist/constants/index.js.map +1 -0
  7. package/dist/core/config.d.ts +17 -0
  8. package/dist/core/config.d.ts.map +1 -0
  9. package/dist/core/config.js +40 -0
  10. package/dist/core/config.js.map +1 -0
  11. package/dist/core/connection.d.ts +29 -0
  12. package/dist/core/connection.d.ts.map +1 -0
  13. package/dist/core/connection.js +77 -0
  14. package/dist/core/connection.js.map +1 -0
  15. package/dist/core/index.d.ts +7 -0
  16. package/dist/core/index.d.ts.map +1 -0
  17. package/dist/core/index.js +26 -0
  18. package/dist/core/index.js.map +1 -0
  19. package/dist/example.d.ts +67 -0
  20. package/dist/example.d.ts.map +1 -0
  21. package/dist/example.js +86 -0
  22. package/dist/example.js.map +1 -0
  23. package/dist/index.d.ts +14 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +41 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/init.d.ts +28 -0
  28. package/dist/init.d.ts.map +1 -0
  29. package/dist/init.js +63 -0
  30. package/dist/init.js.map +1 -0
  31. package/dist/types/errors.d.ts +23 -0
  32. package/dist/types/errors.d.ts.map +1 -0
  33. package/dist/types/errors.js +46 -0
  34. package/dist/types/errors.js.map +1 -0
  35. package/dist/types/index.d.ts +7 -0
  36. package/dist/types/index.d.ts.map +1 -0
  37. package/dist/types/index.js +23 -0
  38. package/dist/types/index.js.map +1 -0
  39. package/dist/types/types.d.ts +30 -0
  40. package/dist/types/types.d.ts.map +1 -0
  41. package/dist/types/types.js +6 -0
  42. package/dist/types/types.js.map +1 -0
  43. package/dist/utils/index.d.ts +10 -0
  44. package/dist/utils/index.d.ts.map +1 -0
  45. package/dist/utils/index.js +18 -0
  46. package/dist/utils/index.js.map +1 -0
  47. package/dist/utils/logger.d.ts +26 -0
  48. package/dist/utils/logger.d.ts.map +1 -0
  49. package/dist/utils/logger.js +41 -0
  50. package/dist/utils/logger.js.map +1 -0
  51. package/dist/utils/migrations.d.ts +94 -0
  52. package/dist/utils/migrations.d.ts.map +1 -0
  53. package/dist/utils/migrations.js +440 -0
  54. package/dist/utils/migrations.js.map +1 -0
  55. package/dist/utils/schema-introspection.d.ts +183 -0
  56. package/dist/utils/schema-introspection.d.ts.map +1 -0
  57. package/dist/utils/schema-introspection.js +501 -0
  58. package/dist/utils/schema-introspection.js.map +1 -0
  59. package/dist/utils/seeds.d.ts +51 -0
  60. package/dist/utils/seeds.d.ts.map +1 -0
  61. package/dist/utils/seeds.js +209 -0
  62. package/dist/utils/seeds.js.map +1 -0
  63. package/dist/utils/sync.d.ts +57 -0
  64. package/dist/utils/sync.d.ts.map +1 -0
  65. package/dist/utils/sync.js +221 -0
  66. package/dist/utils/sync.js.map +1 -0
  67. package/package.json +53 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-introspection.js","sourceRoot":"","sources":["../../utils/schema-introspection.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,6CAAkC;AAClC,mDAAwD;AACxD,qCAAkC;AAClC,4CAA8C;AAE9C;;;GAGG;AACH,MAAa,mBAAmB;IAI9B;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,UAGjB;QACC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IACD;;OAEG;IACH,MAAM,CAAC,gBAAgB;QACrB,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY;QACjB,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAiB;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,SAAS,CAAC,SAAmC,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,oBAAW,CAAC,SAAS,SAAS,yBAAyB,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAiB;QAC/B,OAAO,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,SAAiB;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,oBAAW,CAAC,SAAS,SAAS,sBAAsB,CAAC,CAAC;QAClE,CAAC;QAED,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YACrC,oCAAoC;SACrC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,4BAA4B,CAAC,SAAiB;QACnD,wDAAwD;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEvC,gDAAgD;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAEnD,uCAAuC;QACvC,MAAM,iBAAiB,GAAa,EAAE,CAAC;QAEvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,SAAS,GAAG,OAAO,MAAM,EAAE,CAAC;YAEhC,oEAAoE;YACpE,iEAAiE;YACjE,IAAI,MAAM,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnD,SAAS,IAAI,sBAAsB,CAAC;YACtC,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,SAAS,IAAI,mBAAmB,CAAC;YACnC,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBACxF,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC5B,SAAS,IAAI,4CAA4C,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,SAAS,IAAI,UAAU,CAAC;gBAC1B,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC9B,SAAS,IAAI,uBAAuB,CAAC;YACvC,CAAC;iBAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrF,SAAS,IAAI,mBAAmB,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,SAAS,IAAI,gBAAgB,CAAC;YAChC,CAAC;YAED,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,4CAA4C;QAC5C,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAC3C,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,qBAAqB,CAAC,IAAI,CACxB,oBAAoB,EAAE,CAAC,MAAM,gBAAgB,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,qBAAqB,CAC5F,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,MAAM,cAAc,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,qBAAqB,CAAC,CAAC;QAExE,OAAO;mCACwB,SAAS;EAC1C,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;;KAEvB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,SAAiB;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEvC,yDAAyD;QACzD,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,QAAQ,GAAG,KAAY,CAAC;YAE9B,kDAAkD;YAClD,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YAED,6BAA6B;YAC7B,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YAED,kCAAkC;YAClC,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;gBAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YAED,qFAAqF;YACrF,mFAAmF;YACnF,eAAM,CAAC,KAAK,CAAC,uCAAuC,SAAS,4BAA4B,CAAC,CAAC;YAE3F,0EAA0E;YAC1E,qEAAqE;YACrE,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,sCAAsC,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;YAExE,0CAA0C;YAC1C,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,wBAAwB,CAAC,SAAiB;QACvD,IAAI,CAAC;YACH,eAAM,CAAC,IAAI,CAAC,uDAAuD,SAAS,EAAE,CAAC,CAAC;YAEhF,sCAAsC;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEvC,kFAAkF;YAClF,MAAM,QAAQ,GAAG,KAAY,CAAC;YAE9B,2EAA2E;YAC3E,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAChD,eAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,MAAM,sBAAsB,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9G,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,oDAAoD;YACpD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC9C,eAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,MAAM,sBAAsB,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9G,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,gEAAgE;YAChE,IAAI,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC/C,eAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,MAAM,sBAAsB,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9G,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,0EAA0E;YAC1E,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;gBAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAChD,eAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,MAAM,sBAAsB,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9G,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,8DAA8D;YAC9D,wDAAwD;YACxD,eAAM,CAAC,KAAK,CAAC,4DAA4D,SAAS,yBAAyB,CAAC,CAAC;YAE7G,yEAAyE;YACzE,mDAAmD;YACnD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,eAAM,CAAC,IAAI,CAAC,mCAAmC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAErE,oEAAoE;YACpE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBACvC,mCAAmC;gBACnC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC/D,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,wEAAwE;gBACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACzE,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,4DAA4D;gBAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,wEAAwE;oBACxE,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,eAAM,CAAC,IAAI,CAAC,0BAA0B,WAAW,CAAC,MAAM,sBAAsB,SAAS,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtH,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,iDAAiD;YACjD,MAAM,IAAI,oBAAW,CACnB,+CAA+C,SAAS,mBAAmB;gBAC3E,8FAA8F;gBAC9F,sFAAsF,CACvF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,oDAAoD,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;YACtF,MAAM,IAAI,oBAAW,CACnB,8CAA8C,SAAS,KAAM,KAAe,CAAC,OAAO,EAAE,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAiB;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEvC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YACxC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YACzC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;SACpC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,SAAiB;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEvC,wDAAwD;QACxD,IAAI,CAAC;YACH,MAAM,OAAO,GAAI,KAAa,CAAC,CAAC,EAAE,OAAc,CAAC;YACjD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;oBAChC,OAAO,MAAM,CAAC,OAAO,CAAC;gBACxB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,2CAA2C,SAAS,4BAA4B,CAAC,CAAC;QAChG,CAAC;QAED,oEAAoE;QACpE,mDAAmD;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,SAAiB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEvC,4DAA4D;QAC5D,MAAM,WAAW,GAAiE,EAAE,CAAC;QAErF,IAAI,CAAC;YACH,mEAAmE;YACnE,MAAM,OAAO,GAAI,KAAa,CAAC,CAAC,EAAE,OAAc,CAAC;YACjD,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxD,MAAM,GAAG,GAAG,MAAa,CAAC;oBAC1B,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;wBACnB,kCAAkC;wBAClC,WAAW,CAAC,IAAI,CAAC;4BACf,MAAM,EAAE,OAAO;4BACf,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI;4BACzC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,SAAS;yBACzC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,4CAA4C,SAAS,4BAA4B,CAAC,CAAC;QACjG,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,SAAiB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEvC,sDAAsD;QACtD,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,6DAA6D;YAC7D,MAAM,OAAO,GAAI,KAAa,CAAC,CAAC,EAAE,OAAc,CAAC;YACjD,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxD,MAAM,GAAG,GAAG,MAAa,CAAC;oBAC1B,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;wBAC5B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,IAAI,CAAC,uCAAuC,SAAS,4BAA4B,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc;QAMzB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,+BAAkB,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,2BAA2B;YAC3B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,IAAA,iBAAG,EAAA;;;OAG9B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEhE,2BAA2B;YAC3B,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACtC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;YAElE,OAAO;gBACL,OAAO;gBACP,aAAa;gBACb,WAAW;gBACX,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,EAAE;gBACf,MAAM,EAAE,CAAE,KAAe,CAAC,OAAO,CAAC;aACnC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEnC,0CAA0C;QAC1C,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YACxC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YACzC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;SACpC,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,WAAW,EAAE,UAAU,CAAC,MAAM;YAC9B,UAAU;YACV,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,YAAY;YACZ,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,aAAa,EAAE,WAAW;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB;QAC1B,MAAM,aAAa,GAKd,EAAE,CAAC;QAER,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE3C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,aAAa,CAAC,IAAI,CAAC;oBACjB,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,EAAE,CAAC,MAAM;oBACrB,OAAO,EAAE,EAAE,CAAC,KAAK;oBACjB,QAAQ,EAAE,EAAE,CAAC,UAAU;iBACxB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,wBAAwB;QAC7B,MAAM,KAAK,GAKN,EAAE,CAAC;QAER,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE3C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAE3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,6DAA6D;gBAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC;wBACT,KAAK,EAAE,SAAS;wBAChB,MAAM;wBACN,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC;wBACT,KAAK,EAAE,SAAS;wBAChB,MAAM;wBACN,IAAI,EAAE,UAAU;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAED,wCAAwC;gBACxC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;gBACtD,IAAI,EAAE,EAAE,CAAC;oBACP,KAAK,CAAC,IAAI,CAAC;wBACT,KAAK,EAAE,SAAS;wBAChB,MAAM;wBACN,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,EAAE;qBACtC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,sBAAsB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,gBAAgB,GAAG;YACvB,MAAM,EAAE,EAAS;YACjB,aAAa,EAAE,IAAI,CAAC,qBAAqB,EAAE;YAC3C,eAAe,EAAE,IAAI,CAAC,wBAAwB,EAAE;YAChD,QAAQ,EAAE;gBACR,WAAW,EAAE,UAAU,CAAC,MAAM;gBAC9B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,UAAU,EAAE,WAAW;aACxB;SACF,CAAC;QAEF,wBAAwB;QACxB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG;gBACnC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;gBACxC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBACzC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;gBAC3C,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBACnC,eAAe,EAAE,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC;aAC9D,CAAC;QACJ,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;;AA1jBH,kDA2jBC;AA1jBgB,0BAAM,GAAwB,EAAE,CAAC;AACjC,8BAAU,GAAa,EAAE,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Simple database seeding utility
3
+ * Accepts schema data as parameters to work as an npm package
4
+ */
5
+ export declare class DatabaseSeeds {
6
+ private static seedData;
7
+ private static tableNames;
8
+ private static tables;
9
+ /**
10
+ * Initialize the seeding utility with schema data
11
+ */
12
+ static initialize(schemaData: {
13
+ tables: Record<string, any>;
14
+ tableNames: string[];
15
+ seedData?: Record<string, any[]>;
16
+ }): void;
17
+ /**
18
+ * Check if database already has data
19
+ */
20
+ static hasData(): Promise<boolean>;
21
+ /**
22
+ * Seed the database with sample data
23
+ * Users can modify this method to add their own hardcoded seeds
24
+ */
25
+ static seed(): Promise<void>;
26
+ /**
27
+ * Seed a specific table with sample data
28
+ * Users can modify this method to add their own hardcoded seeds for specific tables
29
+ */
30
+ private static seedTable;
31
+ /**
32
+ * Generate seed data for a table
33
+ * Uses the provided seed data for predefined tables, falls back to generic generation
34
+ */
35
+ private static generateSampleData;
36
+ /**
37
+ * Generate generic sample data for unknown table types
38
+ * Users can modify this method to add their own generic sample data patterns
39
+ */
40
+ private static generateGenericSampleData;
41
+ /**
42
+ * Clear all data from all tables
43
+ * Useful for testing or resetting the database
44
+ */
45
+ static clearAllData(): Promise<void>;
46
+ /**
47
+ * Reset database to initial state (clear + seed)
48
+ */
49
+ static reset(): Promise<void>;
50
+ }
51
+ //# sourceMappingURL=seeds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeds.d.ts","sourceRoot":"","sources":["../../utils/seeds.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IACpD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAgB;IACzC,OAAO,CAAC,MAAM,CAAC,MAAM,CAA2B;IAEhD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;KAClC,GAAG,IAAI;IAKR;;OAEG;WACU,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAqBxC;;;OAGG;WACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgClC;;;OAGG;mBACkB,SAAS;IAkC9B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAUjC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAwCxC;;;OAGG;WACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB1C;;OAEG;WACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAWpC"}
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatabaseSeeds = void 0;
4
+ const index_1 = require("../index");
5
+ const logger_1 = require("./logger");
6
+ const schema_introspection_1 = require("./schema-introspection");
7
+ const errors_1 = require("../types/errors");
8
+ /**
9
+ * Simple database seeding utility
10
+ * Accepts schema data as parameters to work as an npm package
11
+ */
12
+ class DatabaseSeeds {
13
+ /**
14
+ * Initialize the seeding utility with schema data
15
+ */
16
+ static initialize(schemaData) {
17
+ this.tables = schemaData.tables;
18
+ this.tableNames = schemaData.tableNames;
19
+ this.seedData = schemaData.seedData || {};
20
+ }
21
+ /**
22
+ * Check if database already has data
23
+ */
24
+ static async hasData() {
25
+ try {
26
+ const tableNames = this.tableNames.length > 0 ? this.tableNames : schema_introspection_1.SchemaIntrospection.getAllTableNames();
27
+ for (const tableName of tableNames) {
28
+ const result = await index_1.db.run(`SELECT COUNT(*) as count FROM ${tableName}`);
29
+ const count = Number(result.rows[0]?.count || 0);
30
+ if (count > 0) {
31
+ logger_1.logger.info(`Table ${tableName} has ${count} records`);
32
+ return true;
33
+ }
34
+ }
35
+ return false;
36
+ }
37
+ catch (error) {
38
+ logger_1.logger.error('Error checking if database has data:', error);
39
+ return false;
40
+ }
41
+ }
42
+ /**
43
+ * Seed the database with sample data
44
+ * Users can modify this method to add their own hardcoded seeds
45
+ */
46
+ static async seed() {
47
+ try {
48
+ logger_1.logger.info('Seeding database with sample data...');
49
+ // Check if database already has data
50
+ if (await this.hasData()) {
51
+ logger_1.logger.info('Database already has data, skipping seed');
52
+ return;
53
+ }
54
+ // Check if seed data is empty
55
+ if (Object.keys(this.seedData).length === 0) {
56
+ logger_1.logger.info('Seed data is empty, skipping seeding');
57
+ return;
58
+ }
59
+ // Get all tables from schema
60
+ const tableNames = this.tableNames.length > 0 ? this.tableNames : schema_introspection_1.SchemaIntrospection.getAllTableNames();
61
+ logger_1.logger.info(`Found ${tableNames.length} tables to seed: ${tableNames.join(', ')}`);
62
+ // Seed each table with sample data
63
+ for (const tableName of tableNames) {
64
+ await this.seedTable(tableName);
65
+ }
66
+ logger_1.logger.info('Database seeding completed successfully!');
67
+ }
68
+ catch (error) {
69
+ logger_1.logger.error('Error seeding database:', error);
70
+ throw new errors_1.DatabaseError(`Failed to seed database: ${error.message}`, 'seed', error);
71
+ }
72
+ }
73
+ /**
74
+ * Seed a specific table with sample data
75
+ * Users can modify this method to add their own hardcoded seeds for specific tables
76
+ */
77
+ static async seedTable(tableName) {
78
+ try {
79
+ logger_1.logger.info(`Seeding table: ${tableName}`);
80
+ // Get columns for this table
81
+ const columns = schema_introspection_1.SchemaIntrospection.getTableColumns(tableName);
82
+ // Generate sample data based on table type
83
+ const sampleData = this.generateSampleData(tableName, columns);
84
+ // Insert sample data
85
+ for (const row of sampleData) {
86
+ const columnsStr = Object.keys(row).join(', ');
87
+ const valuesStr = Object.values(row).map(v => {
88
+ if (v === null || v === undefined) {
89
+ return 'NULL';
90
+ }
91
+ else if (typeof v === 'string') {
92
+ return `'${v.replace(/'/g, "''")}'`;
93
+ }
94
+ else {
95
+ return v;
96
+ }
97
+ }).join(', ');
98
+ const insertSql = `INSERT INTO ${tableName} (${columnsStr}) VALUES (${valuesStr})`;
99
+ await index_1.db.run(insertSql);
100
+ }
101
+ logger_1.logger.info(`Seeded table ${tableName} with ${sampleData.length} records`);
102
+ }
103
+ catch (error) {
104
+ logger_1.logger.error(`Error seeding table ${tableName}:`, error);
105
+ throw new errors_1.DatabaseError(`Failed to seed table ${tableName}: ${error.message}`, 'seed', error);
106
+ }
107
+ }
108
+ /**
109
+ * Generate seed data for a table
110
+ * Uses the provided seed data for predefined tables, falls back to generic generation
111
+ */
112
+ static generateSampleData(tableName, columns) {
113
+ // Check if we have predefined seed data for this table
114
+ if (tableName in this.seedData) {
115
+ return this.seedData[tableName];
116
+ }
117
+ // Generic fallback for any other tables
118
+ return this.generateGenericSampleData(tableName, columns);
119
+ }
120
+ /**
121
+ * Generate generic sample data for unknown table types
122
+ * Users can modify this method to add their own generic sample data patterns
123
+ */
124
+ static generateGenericSampleData(tableName, columns) {
125
+ const sampleData = [];
126
+ // Generate 3 sample records
127
+ for (let i = 1; i <= 3; i++) {
128
+ const row = {};
129
+ for (const column of columns) {
130
+ if (column === 'id') {
131
+ row[column] = i;
132
+ }
133
+ else if (column.includes('name') || column.includes('title')) {
134
+ row[column] = `Sample ${column} ${i}`;
135
+ }
136
+ else if (column.includes('email')) {
137
+ row[column] = `user${i}@example.com`;
138
+ }
139
+ else if (column.includes('description')) {
140
+ row[column] = `This is a sample ${column} for record ${i}`;
141
+ }
142
+ else if (column.includes('price') || column.includes('amount')) {
143
+ row[column] = 100 * i;
144
+ }
145
+ else if (column.includes('_id')) {
146
+ row[column] = i; // Foreign key
147
+ }
148
+ else if (column.includes('created_at')) {
149
+ row[column] = '2024-01-01 10:00:00';
150
+ }
151
+ else if (column.includes('updated_at')) {
152
+ row[column] = null;
153
+ }
154
+ else if (column.includes('is_active') || column.includes('active')) {
155
+ row[column] = 1;
156
+ }
157
+ else if (column.includes('color')) {
158
+ row[column] = '#000000';
159
+ }
160
+ else {
161
+ // Generic fallback
162
+ row[column] = `Sample ${column} ${i}`;
163
+ }
164
+ }
165
+ sampleData.push(row);
166
+ }
167
+ return sampleData;
168
+ }
169
+ /**
170
+ * Clear all data from all tables
171
+ * Useful for testing or resetting the database
172
+ */
173
+ static async clearAllData() {
174
+ try {
175
+ logger_1.logger.info('Clearing all data from database...');
176
+ const tableNames = this.tableNames.length > 0 ? this.tableNames : schema_introspection_1.SchemaIntrospection.getAllTableNames();
177
+ // Clear data in reverse order to handle foreign key constraints
178
+ for (const tableName of tableNames.reverse()) {
179
+ await index_1.db.run(`DELETE FROM ${tableName}`);
180
+ logger_1.logger.info(`Cleared data from table: ${tableName}`);
181
+ }
182
+ logger_1.logger.info('All data cleared successfully!');
183
+ }
184
+ catch (error) {
185
+ logger_1.logger.error('Error clearing database data:', error);
186
+ throw new errors_1.DatabaseError(`Failed to clear database data: ${error.message}`, 'clear', error);
187
+ }
188
+ }
189
+ /**
190
+ * Reset database to initial state (clear + seed)
191
+ */
192
+ static async reset() {
193
+ try {
194
+ logger_1.logger.info('Resetting database to initial state...');
195
+ await this.clearAllData();
196
+ await this.seed();
197
+ logger_1.logger.info('Database reset completed successfully!');
198
+ }
199
+ catch (error) {
200
+ logger_1.logger.error('Error resetting database:', error);
201
+ throw new errors_1.DatabaseError(`Failed to reset database: ${error.message}`, 'reset', error);
202
+ }
203
+ }
204
+ }
205
+ exports.DatabaseSeeds = DatabaseSeeds;
206
+ DatabaseSeeds.seedData = {};
207
+ DatabaseSeeds.tableNames = [];
208
+ DatabaseSeeds.tables = {};
209
+ //# sourceMappingURL=seeds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeds.js","sourceRoot":"","sources":["../../utils/seeds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Completely Generic Database Sync Utilities
3
+ * Reads from schema.ts and performs database operations
4
+ * No hardcoded table names or structures - completely dynamic!
5
+ */
6
+ /**
7
+ * Completely Generic Database Sync Utilities
8
+ * Works with any table structure defined in schema.ts
9
+ * No hardcoded values - everything is derived from schema.ts
10
+ */
11
+ export declare class DatabaseSync {
12
+ /**
13
+ * Setup database - initialize schema and seed with sample data
14
+ * Completely generic - works with any table structure defined in schema.ts
15
+ */
16
+ static setup(): Promise<void>;
17
+ /**
18
+ * Sync database with Turso (if supported)
19
+ * Completely generic - works with any table structure defined in schema.ts
20
+ */
21
+ static sync(): Promise<{
22
+ success: boolean;
23
+ message: string;
24
+ tablesSynced: string[];
25
+ errors: string[];
26
+ }>;
27
+ /**
28
+ * Get database information
29
+ * Completely generic - works with any table structure defined in schema.ts
30
+ */
31
+ static getDatabaseInfo(): Promise<{
32
+ tables: string[];
33
+ tableCounts: Record<string, number>;
34
+ totalRecords: number;
35
+ schemaValid: boolean;
36
+ syncSupported: boolean;
37
+ }>;
38
+ /**
39
+ * Reset database (drop, recreate, and seed)
40
+ * Completely generic - works with any table structure defined in schema.ts
41
+ */
42
+ static reset(): Promise<void>;
43
+ /**
44
+ * Health check for database
45
+ * Completely generic - works with any table structure defined in schema.ts
46
+ */
47
+ static healthCheck(): Promise<{
48
+ healthy: boolean;
49
+ tables: string[];
50
+ tableCounts: Record<string, number>;
51
+ totalRecords: number;
52
+ schemaValid: boolean;
53
+ syncSupported: boolean;
54
+ errors: string[];
55
+ }>;
56
+ }
57
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../utils/sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH;;;;GAIG;AACH,qBAAa,YAAY;IACvB;;;OAGG;WACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBnC;;;OAGG;WACU,IAAI,IAAI,OAAO,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAuDF;;;OAGG;WACU,eAAe,IAAI,OAAO,CAAC;QACtC,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IA4DF;;;OAGG;WACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAenC;;;OAGG;WACU,WAAW,IAAI,OAAO,CAAC;QAClC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CAuCH"}
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ /**
3
+ * Completely Generic Database Sync Utilities
4
+ * Reads from schema.ts and performs database operations
5
+ * No hardcoded table names or structures - completely dynamic!
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.DatabaseSync = void 0;
9
+ const drizzle_orm_1 = require("drizzle-orm");
10
+ const connection_1 = require("../core/connection");
11
+ const logger_1 = require("./logger");
12
+ const errors_1 = require("../types/errors");
13
+ const schema_introspection_1 = require("./schema-introspection");
14
+ const migrations_1 = require("./migrations");
15
+ const seeds_1 = require("./seeds");
16
+ /**
17
+ * Completely Generic Database Sync Utilities
18
+ * Works with any table structure defined in schema.ts
19
+ * No hardcoded values - everything is derived from schema.ts
20
+ */
21
+ class DatabaseSync {
22
+ /**
23
+ * Setup database - initialize schema and seed with sample data
24
+ * Completely generic - works with any table structure defined in schema.ts
25
+ */
26
+ static async setup() {
27
+ try {
28
+ logger_1.logger.info('Setting up database...');
29
+ // Initialize schema from schema.ts
30
+ await migrations_1.DatabaseMigrations.initializeSchema();
31
+ // Seed with sample data
32
+ await seeds_1.DatabaseSeeds.seed();
33
+ logger_1.logger.info('Database setup completed successfully!');
34
+ }
35
+ catch (error) {
36
+ const dbError = new errors_1.DatabaseError('Database setup failed', 'setup', error);
37
+ logger_1.logger.error(dbError.message, dbError);
38
+ throw dbError;
39
+ }
40
+ }
41
+ /**
42
+ * Sync database with Turso (if supported)
43
+ * Completely generic - works with any table structure defined in schema.ts
44
+ */
45
+ static async sync() {
46
+ try {
47
+ logger_1.logger.info('Checking sync capabilities...');
48
+ const db = connection_1.DatabaseConnection.getInstance();
49
+ const tableNames = schema_introspection_1.SchemaIntrospection.getAllTableNames();
50
+ // Try to sync with Turso
51
+ try {
52
+ // Access the client directly for sync
53
+ const client = db.$client;
54
+ if (client && typeof client.sync === 'function') {
55
+ await client.sync();
56
+ logger_1.logger.info('Database synced successfully with Turso');
57
+ return {
58
+ success: true,
59
+ message: 'Database synced successfully with Turso',
60
+ tablesSynced: tableNames,
61
+ errors: []
62
+ };
63
+ }
64
+ else {
65
+ throw new errors_1.DatabaseError('Sync not supported', 'sync');
66
+ }
67
+ }
68
+ catch (error) {
69
+ // Handle specific Turso sync errors
70
+ if (error.code === 'SYNC_NOT_SUPPORTED') {
71
+ logger_1.logger.info('Sync not supported in HTTP mode - this is expected for remote connections');
72
+ return {
73
+ success: true,
74
+ message: 'Sync not supported in HTTP mode - this is expected for remote connections',
75
+ tablesSynced: tableNames,
76
+ errors: []
77
+ };
78
+ }
79
+ else {
80
+ logger_1.logger.warn('Sync failed:', error.message);
81
+ return {
82
+ success: false,
83
+ message: `Sync failed: ${error.message}`,
84
+ tablesSynced: [],
85
+ errors: [error.message]
86
+ };
87
+ }
88
+ }
89
+ }
90
+ catch (error) {
91
+ const dbError = new errors_1.DatabaseError('Database sync failed', 'sync', error);
92
+ logger_1.logger.error(dbError.message, dbError);
93
+ return {
94
+ success: false,
95
+ message: dbError.message,
96
+ tablesSynced: [],
97
+ errors: [dbError.message]
98
+ };
99
+ }
100
+ }
101
+ /**
102
+ * Get database information
103
+ * Completely generic - works with any table structure defined in schema.ts
104
+ */
105
+ static async getDatabaseInfo() {
106
+ try {
107
+ const db = connection_1.DatabaseConnection.getInstance();
108
+ const tableNames = schema_introspection_1.SchemaIntrospection.getAllTableNames();
109
+ // Get table counts
110
+ const tableCounts = {};
111
+ let totalRecords = 0;
112
+ for (const tableName of tableNames) {
113
+ const table = schema_introspection_1.SchemaIntrospection.getTable(tableName);
114
+ if (table) {
115
+ try {
116
+ const result = await db.run((0, drizzle_orm_1.sql) `SELECT COUNT(*) as count FROM ${drizzle_orm_1.sql.identifier(tableName)}`);
117
+ const count = Number(result.rows[0]?.count || 0);
118
+ tableCounts[tableName] = count;
119
+ totalRecords += count;
120
+ }
121
+ catch (error) {
122
+ logger_1.logger.warn(`Could not get count for table ${tableName}:`, error);
123
+ tableCounts[tableName] = 0;
124
+ }
125
+ }
126
+ }
127
+ // Check schema validity
128
+ const schemaValidation = await migrations_1.DatabaseMigrations.validateSchema();
129
+ // Check sync support
130
+ let syncSupported = false;
131
+ try {
132
+ const client = db.$client;
133
+ if (client && typeof client.sync === 'function') {
134
+ await client.sync();
135
+ syncSupported = true;
136
+ }
137
+ }
138
+ catch (error) {
139
+ if (error.code === 'SYNC_NOT_SUPPORTED') {
140
+ syncSupported = false;
141
+ }
142
+ }
143
+ return {
144
+ tables: tableNames,
145
+ tableCounts,
146
+ totalRecords,
147
+ schemaValid: schemaValidation.isValid,
148
+ syncSupported
149
+ };
150
+ }
151
+ catch (error) {
152
+ logger_1.logger.error('Error getting database info:', error);
153
+ return {
154
+ tables: [],
155
+ tableCounts: {},
156
+ totalRecords: 0,
157
+ schemaValid: false,
158
+ syncSupported: false
159
+ };
160
+ }
161
+ }
162
+ /**
163
+ * Reset database (drop, recreate, and seed)
164
+ * Completely generic - works with any table structure defined in schema.ts
165
+ */
166
+ static async reset() {
167
+ try {
168
+ logger_1.logger.warn('Resetting database...');
169
+ await migrations_1.DatabaseMigrations.resetDatabase();
170
+ await seeds_1.DatabaseSeeds.seed();
171
+ logger_1.logger.info('Database reset completed');
172
+ }
173
+ catch (error) {
174
+ const dbError = new errors_1.DatabaseError('Database reset failed', 'reset', error);
175
+ logger_1.logger.error(dbError.message, dbError);
176
+ throw dbError;
177
+ }
178
+ }
179
+ /**
180
+ * Health check for database
181
+ * Completely generic - works with any table structure defined in schema.ts
182
+ */
183
+ static async healthCheck() {
184
+ try {
185
+ const dbInfo = await this.getDatabaseInfo();
186
+ const errors = [];
187
+ // Check if all tables exist
188
+ if (!dbInfo.schemaValid) {
189
+ errors.push('Schema validation failed');
190
+ }
191
+ // Check if we have any data
192
+ if (dbInfo.totalRecords === 0) {
193
+ errors.push('No data found in database');
194
+ }
195
+ const healthy = errors.length === 0;
196
+ return {
197
+ healthy,
198
+ tables: dbInfo.tables,
199
+ tableCounts: dbInfo.tableCounts,
200
+ totalRecords: dbInfo.totalRecords,
201
+ schemaValid: dbInfo.schemaValid,
202
+ syncSupported: dbInfo.syncSupported,
203
+ errors
204
+ };
205
+ }
206
+ catch (error) {
207
+ logger_1.logger.error('Error during health check:', error);
208
+ return {
209
+ healthy: false,
210
+ tables: [],
211
+ tableCounts: {},
212
+ totalRecords: 0,
213
+ schemaValid: false,
214
+ syncSupported: false,
215
+ errors: [error.message]
216
+ };
217
+ }
218
+ }
219
+ }
220
+ exports.DatabaseSync = DatabaseSync;
221
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../utils/sync.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "nanodb-orm",
3
+ "version": "0.0.1",
4
+ "description": "Generic database package with Drizzle ORM, auto-migrations, and schema introspection",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist/**/*",
9
+ "README.md",
10
+ "LICENSE"
11
+ ],
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "dev": "tsc --watch",
15
+ "clean": "rm -rf dist",
16
+ "prepublishOnly": "npm run clean && npm run build",
17
+ "test": "jest",
18
+ "test:watch": "jest --watchAll"
19
+ },
20
+ "keywords": [
21
+ "database",
22
+ "drizzle",
23
+ "sqlite",
24
+ "turso",
25
+ "migrations",
26
+ "schema",
27
+ "orm"
28
+ ],
29
+ "author": "Damilola Alao",
30
+ "license": "MIT",
31
+ "dependencies": {
32
+ "@libsql/client": "^0.15.14",
33
+ "drizzle-orm": "^0.44.5"
34
+ },
35
+ "devDependencies": {
36
+ "@types/jest": "^29.5.12",
37
+ "@types/node": "^22.15.21",
38
+ "jest": "^29.7.0",
39
+ "ts-jest": "^29.2.0",
40
+ "typescript": "^5.8.3"
41
+ },
42
+ "peerDependencies": {
43
+ "dotenv": "^17.2.1"
44
+ },
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "https://github.com/damilolaalao/nanodb-orm.git"
48
+ },
49
+ "bugs": {
50
+ "url": "https://github.com/damilolaalao/nanodb-orm/issues"
51
+ },
52
+ "homepage": "https://github.com/damilolaalao/nanodb-orm#readme"
53
+ }