admindb 1.2.0 → 2.0.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/README.md +250 -352
- package/dist/app.d.ts +25 -4
- package/dist/app.js +79 -15
- package/dist/app.js.map +1 -1
- package/dist/auth/config.d.ts +19 -0
- package/dist/auth/config.js +147 -0
- package/dist/auth/config.js.map +1 -0
- package/dist/auth/crypto.d.ts +27 -0
- package/dist/auth/crypto.js +133 -0
- package/dist/auth/crypto.js.map +1 -0
- package/dist/auth/index.d.ts +5 -0
- package/dist/auth/index.js +22 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/middleware.d.ts +14 -0
- package/dist/auth/middleware.js +100 -0
- package/dist/auth/middleware.js.map +1 -0
- package/dist/auth/routes.d.ts +7 -0
- package/dist/auth/routes.js +78 -0
- package/dist/auth/routes.js.map +1 -0
- package/dist/auth/types.d.ts +35 -0
- package/dist/auth/types.js +11 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/cli/args.d.ts +45 -0
- package/dist/cli/args.js +328 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/config.d.ts +56 -0
- package/dist/cli/config.js +133 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.d.ts +4 -0
- package/dist/cli/index.js +21 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/runner.d.ts +1 -0
- package/dist/cli/runner.js +222 -0
- package/dist/cli/runner.js.map +1 -0
- package/dist/cli.js +2 -127
- package/dist/cli.js.map +1 -1
- package/dist/data/datasets.d.ts +17 -0
- package/dist/data/datasets.js +133 -0
- package/dist/data/datasets.js.map +1 -0
- package/dist/data/detector.d.ts +30 -0
- package/dist/data/detector.js +472 -0
- package/dist/data/detector.js.map +1 -0
- package/dist/data/engine.d.ts +10 -0
- package/dist/data/engine.js +211 -0
- package/dist/data/engine.js.map +1 -0
- package/dist/data/index.d.ts +5 -0
- package/dist/data/index.js +22 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/strategies.d.ts +30 -0
- package/dist/data/strategies.js +343 -0
- package/dist/data/strategies.js.map +1 -0
- package/dist/data/types.d.ts +73 -0
- package/dist/data/types.js +8 -0
- package/dist/data/types.js.map +1 -0
- package/dist/db/database.d.ts +14 -142
- package/dist/db/database.js +209 -435
- package/dist/db/database.js.map +1 -1
- package/dist/db/export.d.ts +2 -2
- package/dist/db/export.js +7 -2
- package/dist/db/export.js.map +1 -1
- package/dist/db/filters.d.ts +22 -0
- package/dist/db/filters.js +158 -0
- package/dist/db/filters.js.map +1 -0
- package/dist/db/index.d.ts +8 -0
- package/dist/db/index.js +25 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/introspection.d.ts +6 -0
- package/dist/db/introspection.js +172 -0
- package/dist/db/introspection.js.map +1 -0
- package/dist/db/manager.d.ts +32 -19
- package/dist/db/manager.js +203 -44
- package/dist/db/manager.js.map +1 -1
- package/dist/db/migrations.d.ts +5 -0
- package/dist/db/migrations.js +110 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/postgres.d.ts +85 -0
- package/dist/db/postgres.js +745 -0
- package/dist/db/postgres.js.map +1 -0
- package/dist/db/types.d.ts +206 -0
- package/dist/db/types.js +7 -0
- package/dist/db/types.js.map +1 -0
- package/dist/index.d.ts +9 -2
- package/dist/index.js +46 -4
- package/dist/index.js.map +1 -1
- package/dist/public/css/app.css +1 -1
- package/dist/public/css/input.css +83 -13
- package/dist/public/js/app.js +142 -0
- package/dist/public/js/browse.js +591 -104
- package/dist/public/js/databases.js +105 -13
- package/dist/public/js/designer.js +40 -2
- package/dist/public/js/forms.js +610 -28
- package/dist/public/js/icons.js +51 -0
- package/dist/public/js/inspector.js +638 -0
- package/dist/public/js/query.js +93 -3
- package/dist/public/js/schema.js +170 -52
- package/dist/public/js/seed.js +1090 -0
- package/dist/routes/api/helpers.d.ts +42 -0
- package/dist/routes/api/helpers.js +133 -0
- package/dist/routes/api/helpers.js.map +1 -0
- package/dist/routes/api/import-export.d.ts +3 -0
- package/dist/routes/api/import-export.js +85 -0
- package/dist/routes/api/import-export.js.map +1 -0
- package/dist/routes/api/index.d.ts +4 -0
- package/dist/routes/api/index.js +37 -0
- package/dist/routes/api/index.js.map +1 -0
- package/dist/routes/api/query.d.ts +3 -0
- package/dist/routes/api/query.js +76 -0
- package/dist/routes/api/query.js.map +1 -0
- package/dist/routes/api/rows.d.ts +3 -0
- package/dist/routes/api/rows.js +373 -0
- package/dist/routes/api/rows.js.map +1 -0
- package/dist/routes/api/seed.d.ts +3 -0
- package/dist/routes/api/seed.js +82 -0
- package/dist/routes/api/seed.js.map +1 -0
- package/dist/routes/api/tables.d.ts +3 -0
- package/dist/routes/api/tables.js +160 -0
- package/dist/routes/api/tables.js.map +1 -0
- package/dist/routes/databases.d.ts +8 -11
- package/dist/routes/databases.js +100 -66
- package/dist/routes/databases.js.map +1 -1
- package/dist/routes/index.d.ts +3 -0
- package/dist/routes/index.js +20 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/pages.d.ts +3 -3
- package/dist/routes/pages.js +163 -54
- package/dist/routes/pages.js.map +1 -1
- package/dist/serverless.d.ts +40 -0
- package/dist/serverless.js +210 -0
- package/dist/serverless.js.map +1 -0
- package/dist/sql/generator.d.ts +4 -3
- package/dist/sql/generator.js +103 -6
- package/dist/sql/generator.js.map +1 -1
- package/dist/sql/index.d.ts +2 -0
- package/dist/sql/index.js +19 -0
- package/dist/sql/index.js.map +1 -0
- package/dist/types/api.d.ts +412 -0
- package/dist/types/api.js +9 -0
- package/dist/types/api.js.map +1 -0
- package/dist/utils/colors.d.ts +40 -0
- package/dist/utils/colors.js +64 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/{util.d.ts → utils/common.d.ts} +10 -6
- package/dist/{util.js → utils/common.js} +80 -13
- package/dist/utils/common.js.map +1 -0
- package/dist/utils/csv.js.map +1 -0
- package/dist/utils/datatype.d.ts +49 -0
- package/dist/utils/datatype.js +222 -0
- package/dist/utils/datatype.js.map +1 -0
- package/dist/utils/icons.d.ts +11 -0
- package/dist/utils/icons.js +72 -0
- package/dist/utils/icons.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/{logger.d.ts → utils/logger.d.ts} +1 -1
- package/dist/utils/logger.js +40 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/views/layouts/main.hbs +33 -11
- package/dist/views/pages/databases.hbs +182 -74
- package/dist/views/pages/designer.hbs +9 -6
- package/dist/views/pages/error.hbs +3 -3
- package/dist/views/pages/form.hbs +5 -3
- package/dist/views/pages/home.hbs +22 -13
- package/dist/views/pages/login.hbs +111 -0
- package/dist/views/pages/query.hbs +10 -8
- package/dist/views/pages/schema.hbs +41 -13
- package/dist/views/pages/seed.hbs +232 -0
- package/dist/views/pages/table.hbs +155 -70
- package/dist/views/partials/icon.hbs +2 -0
- package/dist/views/partials/navbar.hbs +70 -31
- package/dist/views/partials/sidebar.hbs +108 -99
- package/package.json +12 -5
- package/dist/args.d.ts +0 -28
- package/dist/args.js +0 -187
- package/dist/args.js.map +0 -1
- package/dist/config.d.ts +0 -17
- package/dist/config.js +0 -23
- package/dist/config.js.map +0 -1
- package/dist/csv.js.map +0 -1
- package/dist/logger.js +0 -25
- package/dist/logger.js.map +0 -1
- package/dist/routes/api.d.ts +0 -9
- package/dist/routes/api.js +0 -786
- package/dist/routes/api.js.map +0 -1
- package/dist/test/classifier.test.d.ts +0 -1
- package/dist/test/classifier.test.js +0 -44
- package/dist/test/classifier.test.js.map +0 -1
- package/dist/test/csv.test.d.ts +0 -1
- package/dist/test/csv.test.js +0 -64
- package/dist/test/csv.test.js.map +0 -1
- package/dist/test/database.test.d.ts +0 -1
- package/dist/test/database.test.js +0 -402
- package/dist/test/database.test.js.map +0 -1
- package/dist/test/generator.test.d.ts +0 -1
- package/dist/test/generator.test.js +0 -132
- package/dist/test/generator.test.js.map +0 -1
- package/dist/test/manager.test.d.ts +0 -1
- package/dist/test/manager.test.js +0 -146
- package/dist/test/manager.test.js.map +0 -1
- package/dist/util.js.map +0 -1
- /package/dist/{csv.d.ts → utils/csv.d.ts} +0 -0
- /package/dist/{csv.js → utils/csv.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../src/data/strategies.ts"],"names":[],"mappings":";;;AAwCA,wCAGC;AAMD,4BAGC;AAED,8BAKC;AAED,sCASC;AAID,sCAqBC;AAED,gCAQC;AAKD,kDAMC;AAGD,kCAKC;AAiBD,wCAQC;AAED,sCAGC;AAqDD,sCAiBC;AAED,0CAaC;AAqDD,kCAsCC;AAED,kDAMC;AAlVD,6CAA0C;AAE1C,4CAAkD;AAClD,yCAeoB;AACpB,mCAMiB;AAEjB,8EAA8E;AAEvE,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAAlG,QAAA,OAAO,WAA2F;AACxG,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAApF,QAAA,SAAS,aAA2E;AAC1F,MAAM,IAAI,GAAG,CAAI,GAAQ,EAAK,EAAE,CAAC,GAAG,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAA3D,QAAA,IAAI,QAAuD;AAEjE,MAAM,QAAQ,GAAG,GAAW,EAAE,CAAC,GAAG,IAAA,YAAI,EAAC,sBAAW,CAAC,IAAI,IAAA,YAAI,EAAC,sBAAW,CAAC,IAAI,IAAA,eAAO,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AAA1F,QAAA,QAAQ,YAAkF;AAChG,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,GAAG,IAAA,YAAI,EAAC,sBAAW,CAAC,CAAC,WAAW,EAAE,IAAI,IAAA,YAAI,EAAC,qBAAU,CAAC,CAAC,WAAW,EAAE,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAA,YAAI,EAAC,kBAAO,CAAC,EAAE,CAAC;AAAnI,QAAA,SAAS,aAA0H;AACzI,MAAM,YAAY,GAAG,GAAW,EAAE,CAAC,GAAG,IAAA,YAAI,EAAC,sBAAW,CAAC,CAAC,WAAW,EAAE,GAAG,IAAA,YAAI,EAAC,qBAAU,CAAC,CAAC,WAAW,EAAE,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;AAAtH,QAAA,YAAY,gBAA0G;AAC5H,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAA,eAAO,EAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAAxH,QAAA,SAAS,aAA+G;AAC9H,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,GAAG,IAAA,eAAO,EAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAA,YAAI,EAAC,sBAAW,CAAC,IAAI,IAAA,YAAI,EAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,IAAA,YAAI,EAAC,iBAAM,CAAC,EAAE,CAAC;AAA1I,QAAA,WAAW,eAA+H;AAChJ,MAAM,MAAM,GAAG,GAAW,EAAE,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAA,eAAO,EAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAA,eAAO,EAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAA,eAAO,EAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAArG,QAAA,MAAM,UAA+F;AAElH,SAAgB,cAAc;IAC5B,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5E,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACrD,CAAC;AAEM,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC,QAAQ,IAAA,eAAO,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAA,eAAO,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAA,eAAO,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;AAA3G,QAAA,cAAc,kBAA6F;AACjH,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAU,EAAE,CAAC,mDAAmD,kBAAkB,CAAC,OAAO,IAAI,IAAA,oBAAY,GAAE,CAAC,EAAE,CAAC;AAA9I,QAAA,UAAU,cAAoI;AACpJ,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,KAAK,EAAU,EAAE,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,YAAI,EAAC,uBAAY,CAAC,CAAC,CAAC,CAAC,IAAA,YAAI,EAAC,qBAAU,CAAC,CAAC,CAAC;AAApG,QAAA,SAAS,aAA2F;AAEjH,SAAgB,QAAQ;IACtB,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9E,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC5I,CAAC;AAED,SAAgB,SAAS,CAAC,MAAc,EAAE,MAAc;IACtD,MAAM,CAAC,GAAG,IAAA,eAAO,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,IAAA,YAAI,EAAC,sBAAW,CAAC,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,aAAa,CAAC,MAAc,EAAE,MAAc;IAC1D,MAAM,CAAC,GAAG,IAAA,eAAO,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAEM,MAAM,aAAa,GAAG,GAAW,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAAlD,QAAA,aAAa,iBAAqC;AAE/D,SAAgB,aAAa,CAAC,OAAe;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,OAAO;SACd,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;SAC1B,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAClC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3D,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,4BAA4B,CAAC;IAC3C,MAAM,KAAK,GAAG,4BAA4B,CAAC;IAC3C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,EAAE,KAAK,GAAG;YAAE,GAAG,IAAI,IAAA,eAAO,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAChC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,GAAG,IAAI,KAAK,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAC3D,IAAI,EAAE,KAAK,GAAG;YAAE,GAAG,IAAI,KAAK,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;;YAC7C,GAAG,IAAI,EAAE,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,UAAU,CAAC,IAAa,EAAE,EAAW,EAAE,OAA4B,MAAM;IACvF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAC3D,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAA,eAAO,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9G,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;AACvE,CAAC;AAEM,MAAM,UAAU,GAAG,GAAW,EAAE,CACrC,GAAG,MAAM,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AADxH,QAAA,UAAU,cAC8G;AAErI,SAAgB,mBAAmB,CAAC,MAAM,GAAG,KAAK,EAAE,IAAa,EAAE,EAAW;IAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAC3D,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrC,MAAM,CAAC,GAAG,IAAA,eAAO,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpG,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,KAAK,GAAG,gEAAgE,CAAC;AAC/E,SAAgB,WAAW,CAAC,MAAc,EAAE,MAAc;IACxD,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;QAAE,CAAC,IAAI,KAAK,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAEvF,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAC7B,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAA,YAAI,EAAC,UAAU,CAAC,CAAC;IACjD,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,IAAA,YAAI,EAAC,SAAS,CAAC,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,IAAI;QAAE,OAAO,IAAA,YAAI,EAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrG,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,IAAA,eAAO,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,IAAI,GAAG,IAAI;QAAE,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAC5C,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,QAAQ,EAAE,CAAC;AACpB,CAAC;AAED,SAAgB,cAAc,CAAC,IAAe,EAAE,UAAqC;IACnF,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpF,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,YAAI,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,aAAa,CAAC,IAAY;IACxC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC7H,CAAC;AAED,4EAA4E;AAC5E,MAAM,iBAAiB,GAA2F;IAChH,CAAC,MAAM,EAAE,mCAAmC,EAAE,gBAAgB,EAAE,KAAK,CAAC;IACtE,CAAC,MAAM,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,KAAK,CAAC;IACxD,CAAC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,KAAK,CAAC;IAC1D,CAAC,MAAM,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,KAAK,CAAC;IACjE,CAAC,SAAS,EAAE,yCAAyC,EAAE,gBAAgB,EAAE,KAAK,CAAC;IAC/E,CAAC,UAAU,EAAE,6BAA6B,EAAE,UAAU,EAAE,MAAM,CAAC;IAC/D,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC;IAC3C,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,CAAC;IACnD,CAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;IACnD,CAAC,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,CAAC;IACrD,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,CAAC;IACjD,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,CAAC;IAChD,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC;IAC7C,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC;IAChD,CAAC,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,CAAC;IAC7C,CAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,CAAC;IACrD,CAAC,SAAS,EAAE,6BAA6B,EAAE,UAAU,EAAE,MAAM,CAAC;IAC9D,CAAC,UAAU,EAAE,6BAA6B,EAAE,UAAU,EAAE,MAAM,CAAC;IAC/D,CAAC,QAAQ,EAAE,mCAAmC,EAAE,UAAU,EAAE,MAAM,CAAC;IACnE,CAAC,YAAY,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,CAAC;IAC7D,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,CAAC;IACjD,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC;IACzC,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,CAAC;IACjD,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC;IAC/C,CAAC,aAAa,EAAE,8BAA8B,EAAE,UAAU,EAAE,MAAM,CAAC;IACnE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,CAAC;IACnD,CAAC,UAAU,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,CAAC;IACvD,CAAC,WAAW,EAAE,yBAAyB,EAAE,UAAU,EAAE,KAAK,CAAC;IAC3D,CAAC,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,SAAS,CAAC;IACxD,CAAC,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,SAAS,CAAC;IAC3D,CAAC,UAAU,EAAE,mCAAmC,EAAE,SAAS,EAAE,SAAS,CAAC;IACvE,CAAC,MAAM,EAAE,0BAA0B,EAAE,UAAU,EAAE,KAAK,CAAC;IACvD,CAAC,UAAU,EAAE,4BAA4B,EAAE,UAAU,EAAE,KAAK,CAAC;IAC7D,CAAC,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,KAAK,CAAC;IACrD,CAAC,eAAe,EAAE,wBAAwB,EAAE,UAAU,EAAE,KAAK,CAAC;IAC9D,CAAC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,CAAC;IACxD,CAAC,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,CAAC;IAClD,CAAC,WAAW,EAAE,iCAAiC,EAAE,eAAe,EAAE,MAAM,CAAC;IACzE,CAAC,MAAM,EAAE,+BAA+B,EAAE,eAAe,EAAE,MAAM,CAAC;IAClE,CAAC,MAAM,EAAE,kCAAkC,EAAE,eAAe,EAAE,KAAK,CAAC;IACpE,CAAC,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,CAAC;IAC7D,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC;IAC5C,CAAC,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,CAAC;IAC9D,CAAC,MAAM,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,CAAC;IAC/D,CAAC,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,CAAC;IACtD,CAAC,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,CAAC;IAC9D,CAAC,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,CAAC;CACxD,CAAC;AAEF,SAAgB,aAAa,CAAC,GAAe,EAAE,EAAyB;IACtE,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;IAC9H,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC;IAEzC,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,IAAI,EAAE,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAC3H,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAC9D,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC;YAC1H,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,eAAe,CAAC,GAAe;IAC7C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACvE,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACjD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACrE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACnK,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC5L,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;IACvF,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC;IAC/I,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACjD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC7F,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC;AAGD,qDAAqD;AACrD,MAAM,gBAAgB,GAAiE;IACrF,KAAK,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,sBAAW,CAAC;IAC9B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,qBAAU,CAAC;IAC5B,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,IAAA,YAAI,EAAC,sBAAW,CAAC,IAAI,IAAA,YAAI,EAAC,qBAAU,CAAC,EAAE;IAC1D,KAAK,EAAE,GAAG,EAAE,CAAC,IAAA,iBAAS,GAAE;IACxB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAA,oBAAY,GAAE;IAC9B,GAAG,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,qBAAU,CAAC;IAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,oBAAS,CAAC;IAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,qBAAU,CAAC;IAChC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,mBAAQ,CAAC;IAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,IAAA,sBAAc,GAAE;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAA,kBAAU,GAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAA,iBAAS,GAAE;IACxB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,iBAAM,CAAC;IACxB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,oBAAS,CAAC;IAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,oBAAS,CAAC;IAC9B,WAAW,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,wBAAa,CAAC;IACtC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAA,eAAO,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,mBAAW,GAAE;IAC5B,GAAG,EAAE,GAAG,EAAE,CAAC,eAAe,IAAA,YAAI,EAAC,kBAAO,CAAC,IAAI,IAAA,gBAAQ,GAAE,EAAE;IACvD,MAAM,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,kBAAO,CAAC;IAC3B,EAAE,EAAE,GAAG,EAAE,CAAC,IAAA,cAAM,GAAE;IAClB,GAAG,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;IAC3B,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAA,gBAAQ,GAAE;IACtB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAA,qBAAa,GAAE;IAChC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAA,kBAAU,GAAE;IACxB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAA,YAAI,EAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC;IACrD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC;IACrD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACjE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3E,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAC1D,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,eAAO,EAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/H,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,IAAI,eAAe,CAAC;IAC3D,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAClF,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;QACV,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9E,OAAO,IAAA,yBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;CACF,CAAC;AAEF,SAAgB,WAAW,CACzB,GAAe,EACf,CAAa,EACb,MAAkB,EAClB,QAAQ,GAAG,CAAC;IAEZ,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5C,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM;QAAE,OAAO,YAAI,CAAC;IACvC,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,YAAI,CAAC;QAC9B,OAAO,IAAA,wBAAe,EAAC,MAAM,CAAC,IAAA,YAAI,EAAC,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAA,eAAO,EAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAA,eAAO,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,OAAO,IAAA,wBAAe,EAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,GAAG;QAAE,OAAO,YAAI,CAAC;IAEtB,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9B,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3E,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,OAAO,IAAA,wBAAe,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAe,EAAE,IAAgB,EAAE,MAAkB;IACvF,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,YAAI;QAAE,OAAO,qBAAqB,CAAC;IAC7C,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAC9B,IAAI,CAAC,YAAY,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;IAChH,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { ForeignKeyInfo, WhereClause } from '../db/database';
|
|
2
|
+
/** Hard cap on how many rows a single seed run may generate. */
|
|
3
|
+
export declare const MAX_SEED_ROWS = 5000;
|
|
4
|
+
export type StrategyCategory = 'identity' | 'contact_web' | 'commerce' | 'location' | 'numeric' | 'datetime' | 'system_crypto' | 'custom_control' | 'relational';
|
|
5
|
+
export type GeneratorStrategyId = 'skip' | 'null' | 'fixed' | 'list' | 'pattern' | 'first' | 'last' | 'fullname' | 'username' | 'job' | 'email' | 'phone' | 'url' | 'domain' | 'ip' | 'avatar' | 'company' | 'currency' | 'status' | 'creditCard' | 'city' | 'country' | 'state' | 'postal' | 'address' | 'countryCode' | 'latitude' | 'longitude' | 'words' | 'sentence' | 'paragraph' | 'slug' | 'int' | 'decimal' | 'sequence' | 'date' | 'datetime' | 'time' | 'timestampUnix' | 'bool' | 'bytes' | 'json' | 'hash' | 'token' | 'uuid' | 'color' | 'mac' | 'fk';
|
|
6
|
+
/** Per-column generator settings. Which options are meaningful depends on `strategy`. */
|
|
7
|
+
export interface ColumnPlan {
|
|
8
|
+
strategy: GeneratorStrategyId;
|
|
9
|
+
/** `fixed` / `list` and the string-ish options. */
|
|
10
|
+
value?: string;
|
|
11
|
+
/** `list` — random value picked from this set. */
|
|
12
|
+
values?: string[];
|
|
13
|
+
/** `int` / `decimal` / `latitude` / `longitude` range. */
|
|
14
|
+
min?: number;
|
|
15
|
+
max?: number;
|
|
16
|
+
/** `decimal` — digits after the decimal point. */
|
|
17
|
+
precision?: number;
|
|
18
|
+
/** `date` / `datetime` / `timestampUnix` bounds (ISO strings). */
|
|
19
|
+
from?: string;
|
|
20
|
+
to?: string;
|
|
21
|
+
/** `words` / `bytes` / `hash` / `token` / `sentence` — length bounds. */
|
|
22
|
+
minLen?: number;
|
|
23
|
+
maxLen?: number;
|
|
24
|
+
/** `json` — object keys to include (comma-separated in the UI). */
|
|
25
|
+
jsonKeys?: string[];
|
|
26
|
+
/** `json` — per-key allowed values, derived from CHECK constraints. */
|
|
27
|
+
jsonValues?: Record<string, string[]>;
|
|
28
|
+
/** Percentage chance (0 to 100) to generate NULL for nullable columns. */
|
|
29
|
+
nullPct?: number;
|
|
30
|
+
/** Optional string prefix to prepend to generated string/text values. */
|
|
31
|
+
prefix?: string;
|
|
32
|
+
/** Optional string suffix to append to generated string/text values. */
|
|
33
|
+
suffix?: string;
|
|
34
|
+
/** Sequence start (for `sequence` strategy). */
|
|
35
|
+
start?: number;
|
|
36
|
+
/** Sequence step increment (for `sequence` strategy). */
|
|
37
|
+
step?: number;
|
|
38
|
+
/** Custom pattern template with tokens (for `pattern` strategy). */
|
|
39
|
+
pattern?: string;
|
|
40
|
+
/** Format variation (e.g. 'hex' | 'name' for color, 'sec' | 'ms' for unix timestamp). */
|
|
41
|
+
format?: string;
|
|
42
|
+
}
|
|
43
|
+
/** A strategy choice offered to the UI for a column. */
|
|
44
|
+
export interface StrategyDescriptor {
|
|
45
|
+
id: GeneratorStrategyId;
|
|
46
|
+
label: string;
|
|
47
|
+
category: StrategyCategory;
|
|
48
|
+
description?: string;
|
|
49
|
+
}
|
|
50
|
+
/** Everything the "Seed data" page needs to render one column's controls. */
|
|
51
|
+
export interface ColumnGeneratorConfig {
|
|
52
|
+
name: string;
|
|
53
|
+
type: string;
|
|
54
|
+
pk: boolean;
|
|
55
|
+
notnull: boolean;
|
|
56
|
+
hasDefault: boolean;
|
|
57
|
+
/** True when a single-column UNIQUE index enforces uniqueness on this column. */
|
|
58
|
+
unique: boolean;
|
|
59
|
+
/** The foreign key this column participates in (as the child), if any. */
|
|
60
|
+
fk: ForeignKeyInfo | null;
|
|
61
|
+
strategies: StrategyDescriptor[];
|
|
62
|
+
defaultPlan: ColumnPlan;
|
|
63
|
+
}
|
|
64
|
+
export interface GenerateResult {
|
|
65
|
+
/** One entry per generated row: the columns/values to bind (skipped columns are absent). */
|
|
66
|
+
rows: WhereClause[][];
|
|
67
|
+
/** Structured row records for interactive UI table preview. */
|
|
68
|
+
previewRows: Record<string, unknown>[];
|
|
69
|
+
/** Non-fatal notes surfaced to the user (e.g. a NOT NULL column being skipped). */
|
|
70
|
+
warnings: string[];
|
|
71
|
+
}
|
|
72
|
+
/** Sentinel returned by value generation when the column should be omitted from the row. */
|
|
73
|
+
export declare const SKIP: unique symbol;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SKIP = exports.MAX_SEED_ROWS = void 0;
|
|
4
|
+
/** Hard cap on how many rows a single seed run may generate. */
|
|
5
|
+
exports.MAX_SEED_ROWS = 5000;
|
|
6
|
+
/** Sentinel returned by value generation when the column should be omitted from the row. */
|
|
7
|
+
exports.SKIP = Symbol('skip');
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/data/types.ts"],"names":[],"mappings":";;;AAEA,gEAAgE;AACnD,QAAA,aAAa,GAAG,IAAI,CAAC;AA+IlC,4FAA4F;AAC/E,QAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/db/database.d.ts
CHANGED
|
@@ -1,127 +1,26 @@
|
|
|
1
|
-
import type { Logger } from '../logger';
|
|
1
|
+
import type { Logger } from '../utils/logger';
|
|
2
2
|
import { type ColumnDef, type IndexDef } from '../sql/generator';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
/** SQLite-compatible bind value accepted by better-sqlite3 statements. */
|
|
7
|
-
export type SQLInputValue = null | number | bigint | string | Uint8Array;
|
|
8
|
-
export interface Result<T = unknown> {
|
|
9
|
-
success: boolean;
|
|
10
|
-
data?: T;
|
|
11
|
-
error?: string;
|
|
12
|
-
}
|
|
13
|
-
export interface TableListItem {
|
|
14
|
-
name: string;
|
|
15
|
-
}
|
|
16
|
-
export interface ColumnInfo {
|
|
17
|
-
cid: number;
|
|
18
|
-
name: string;
|
|
19
|
-
type: string;
|
|
20
|
-
notnull: number;
|
|
21
|
-
dflt_value: string | null;
|
|
22
|
-
pk: number;
|
|
23
|
-
}
|
|
24
|
-
export interface ForeignKeyInfo {
|
|
25
|
-
id: number;
|
|
26
|
-
seq: number;
|
|
27
|
-
table: string;
|
|
28
|
-
from: string;
|
|
29
|
-
to: string | null;
|
|
30
|
-
on_update: string;
|
|
31
|
-
on_delete: string;
|
|
32
|
-
}
|
|
33
|
-
export interface TableInfoData {
|
|
34
|
-
table: string;
|
|
35
|
-
columns: ColumnInfo[];
|
|
36
|
-
foreignKeys: ForeignKeyInfo[];
|
|
37
|
-
primaryKey: string[];
|
|
38
|
-
}
|
|
39
|
-
export interface SavedQuery {
|
|
40
|
-
id: number;
|
|
41
|
-
name: string;
|
|
42
|
-
sql: string;
|
|
43
|
-
created_at: string;
|
|
44
|
-
}
|
|
45
|
-
export interface WhereClause {
|
|
46
|
-
column: string;
|
|
47
|
-
value: unknown;
|
|
48
|
-
}
|
|
49
|
-
export interface IndexInfo {
|
|
50
|
-
name: string;
|
|
51
|
-
unique: boolean;
|
|
52
|
-
partial: number;
|
|
53
|
-
/** Index origin: 'c' = explicit CREATE INDEX, 'pk'/'u' = automatic (primary key / unique). */
|
|
54
|
-
origin: string;
|
|
55
|
-
columns: string[];
|
|
56
|
-
/** The `CREATE INDEX` statement from sqlite_master, when available. */
|
|
57
|
-
sql?: string | null;
|
|
58
|
-
}
|
|
59
|
-
export interface RowFilters {
|
|
60
|
-
[column: string]: FilterValue;
|
|
61
|
-
}
|
|
62
|
-
export interface ColumnDetail extends ColumnInfo {
|
|
63
|
-
unique: boolean;
|
|
64
|
-
indexed: boolean;
|
|
65
|
-
/** Foreign keys in OTHER tables whose referenced column is this column. */
|
|
66
|
-
referencedBy: {
|
|
67
|
-
table: string;
|
|
68
|
-
from: string;
|
|
69
|
-
}[];
|
|
70
|
-
/** The foreign key this column participates in (as the child), if any. */
|
|
71
|
-
fk: ForeignKeyInfo | null;
|
|
72
|
-
canDrop: boolean;
|
|
73
|
-
dropBlockers: string[];
|
|
74
|
-
}
|
|
75
|
-
export interface SchemaInfo {
|
|
76
|
-
table: string;
|
|
77
|
-
columns: ColumnDetail[];
|
|
78
|
-
foreignKeys: ForeignKeyInfo[];
|
|
79
|
-
indexes: IndexInfo[];
|
|
80
|
-
/** Foreign keys in other tables that reference this table. */
|
|
81
|
-
references: {
|
|
82
|
-
table: string;
|
|
83
|
-
from: string;
|
|
84
|
-
to: string;
|
|
85
|
-
}[];
|
|
86
|
-
}
|
|
87
|
-
export interface ReferencingTableInfo {
|
|
88
|
-
table: string;
|
|
89
|
-
/** FK columns in `table` that point at this table (`from` → `to`). */
|
|
90
|
-
refs: {
|
|
91
|
-
from: string;
|
|
92
|
-
to: string;
|
|
93
|
-
}[];
|
|
94
|
-
/** Rows in `table` whose FK column(s) actually reference this table. */
|
|
95
|
-
refCount: number;
|
|
96
|
-
}
|
|
97
|
-
export declare const INTERNAL_TABLES: {
|
|
98
|
-
readonly savedQueries: "_saved_queries";
|
|
99
|
-
};
|
|
100
|
-
export declare function buildFilterClause(filters: RowFilters | undefined, availableCols: string[]): {
|
|
101
|
-
where: string;
|
|
102
|
-
params: SQLInputValue[];
|
|
103
|
-
};
|
|
3
|
+
import type { DatabaseDialect, DbOpenOptions, IDatabase, ReferencingTableInfo, Result, RowFilters, SavedQuery, SchemaInfo, SQLInputValue, TableInfoData, TableListItem, WhereClause } from './types';
|
|
4
|
+
export * from './types';
|
|
5
|
+
export * from './filters';
|
|
104
6
|
/**
|
|
105
7
|
* Promise-style wrapper around the better-sqlite3 driver.
|
|
106
8
|
* Every call returns a consistent `{ success, data?, error? }` shape and
|
|
107
9
|
* performs one-time, idempotent schema initialization.
|
|
108
10
|
*/
|
|
109
|
-
export
|
|
110
|
-
/** Open the database read-only: every write is rejected. */
|
|
111
|
-
readonly?: boolean;
|
|
112
|
-
}
|
|
113
|
-
export declare class SqliteDatabase {
|
|
11
|
+
export declare class SqliteDatabase implements IDatabase {
|
|
114
12
|
private db;
|
|
115
13
|
private logger;
|
|
116
14
|
readonly path: string;
|
|
117
|
-
/** True when this database was opened in read-only mode. */
|
|
118
15
|
readonly isReadOnly: boolean;
|
|
16
|
+
readonly dialect: DatabaseDialect;
|
|
119
17
|
constructor(dbPath: string, logger: Logger, options?: DbOpenOptions);
|
|
120
|
-
/** Standard error returned for every write attempt in read-only mode. */
|
|
121
18
|
private readonlyBlocked;
|
|
122
19
|
close(): void;
|
|
123
20
|
private initSchema;
|
|
124
21
|
private tryRun;
|
|
22
|
+
/** Run an atomic transaction. Reverts on any error and enforces read-only mode. */
|
|
23
|
+
private transaction;
|
|
125
24
|
private toBind;
|
|
126
25
|
all(sql: string, params?: SQLInputValue[]): Promise<Result<unknown[]>>;
|
|
127
26
|
run(sql: string, params?: SQLInputValue[]): Promise<Result<{
|
|
@@ -131,13 +30,7 @@ export declare class SqliteDatabase {
|
|
|
131
30
|
execResult(sql: string): Promise<Result<{
|
|
132
31
|
changes?: number;
|
|
133
32
|
}>>;
|
|
134
|
-
/**
|
|
135
|
-
* True when `sql` contains more than one statement. Detection is delegated to
|
|
136
|
-
* SQLite itself via `prepare()` (which refuses multi-statement strings), so
|
|
137
|
-
* comments, string literals and quoted identifiers are handled correctly.
|
|
138
|
-
*/
|
|
139
33
|
hasMultipleStatements(sql: string): boolean;
|
|
140
|
-
/** Run a write statement, reporting row changes when it is a single statement. */
|
|
141
34
|
runWrite(sql: string): Promise<Result<{
|
|
142
35
|
changes?: number;
|
|
143
36
|
}>>;
|
|
@@ -157,7 +50,7 @@ export declare class SqliteDatabase {
|
|
|
157
50
|
changes: number;
|
|
158
51
|
lastInsertRowid: number | null;
|
|
159
52
|
}>>;
|
|
160
|
-
/** Insert many rows
|
|
53
|
+
/** Insert many rows inside a single atomic transaction. */
|
|
161
54
|
insertRows(table: string, rows: WhereClause[][]): Promise<Result<{
|
|
162
55
|
inserted: number;
|
|
163
56
|
skipped: number;
|
|
@@ -166,11 +59,7 @@ export declare class SqliteDatabase {
|
|
|
166
59
|
changes: number;
|
|
167
60
|
lastInsertRowid: number | null;
|
|
168
61
|
}>>;
|
|
169
|
-
/**
|
|
170
|
-
* Apply many row updates (each with its own SET fields + primary-key WHERE
|
|
171
|
-
* clause) inside a single transaction. Used by the bulk "apply changes"
|
|
172
|
-
* flow of inline grid editing. Rolls everything back if any row fails.
|
|
173
|
-
*/
|
|
62
|
+
/** Apply many row updates inside a single atomic transaction. */
|
|
174
63
|
updateRows(table: string, rows: {
|
|
175
64
|
fields: WhereClause[];
|
|
176
65
|
where: WhereClause[];
|
|
@@ -181,17 +70,10 @@ export declare class SqliteDatabase {
|
|
|
181
70
|
changes: number;
|
|
182
71
|
lastInsertRowid: number | null;
|
|
183
72
|
}>>;
|
|
184
|
-
/**
|
|
185
|
-
* Delete many rows (each identified by its primary-key WHERE clause) inside a
|
|
186
|
-
* single transaction. Used by bulk delete.
|
|
187
|
-
*/
|
|
73
|
+
/** Delete many rows inside a single atomic transaction. */
|
|
188
74
|
deleteRows(table: string, rows: WhereClause[][]): Promise<Result<{
|
|
189
75
|
deleted: number;
|
|
190
76
|
}>>;
|
|
191
|
-
/**
|
|
192
|
-
* Fetch the rows matching the given primary-key WHERE clauses in one query
|
|
193
|
-
* (`(a = ? AND b = ?) OR …`). Used by bulk export and FK-impact checks.
|
|
194
|
-
*/
|
|
195
77
|
getRowsByPks(table: string, pks: WhereClause[][]): Promise<Result<Record<string, unknown>[]>>;
|
|
196
78
|
getCreateStatement(table: string): Promise<Result<string | null>>;
|
|
197
79
|
listSavedQueries(): Promise<Result<SavedQuery[]>>;
|
|
@@ -203,21 +85,8 @@ export declare class SqliteDatabase {
|
|
|
203
85
|
changes: number;
|
|
204
86
|
lastInsertRowid: number | null;
|
|
205
87
|
}>>;
|
|
206
|
-
/**
|
|
207
|
-
* Detailed schema for a table: columns with constraint info, indexes,
|
|
208
|
-
* foreign keys, and which other tables reference it.
|
|
209
|
-
*/
|
|
210
88
|
getSchema(table: string): Promise<Result<SchemaInfo>>;
|
|
211
|
-
/**
|
|
212
|
-
* Other tables with foreign keys pointing at `table`, grouped by table, each
|
|
213
|
-
* with the FK column mapping and a count of rows that actually reference it.
|
|
214
|
-
*/
|
|
215
89
|
getReferencingTables(table: string): Promise<Result<ReferencingTableInfo[]>>;
|
|
216
|
-
/**
|
|
217
|
-
* Rows in `table` whose `column` equals `value` — used to show which rows in
|
|
218
|
-
* a referencing table point at a specific row via a foreign key — with the
|
|
219
|
-
* total matching count.
|
|
220
|
-
*/
|
|
221
90
|
getRowsByFk(table: string, column: string, value: unknown, limit?: number): Promise<Result<{
|
|
222
91
|
rows: Record<string, unknown>[];
|
|
223
92
|
total: number;
|
|
@@ -228,6 +97,9 @@ export declare class SqliteDatabase {
|
|
|
228
97
|
addColumn(table: string, col: ColumnDef): Promise<Result<{
|
|
229
98
|
changes?: number;
|
|
230
99
|
}>>;
|
|
100
|
+
modifyColumn(table: string, oldColName: string, newColDef: ColumnDef): Promise<Result<{
|
|
101
|
+
changes?: number;
|
|
102
|
+
}>>;
|
|
231
103
|
renameColumn(table: string, oldName: string, newName: string): Promise<Result<{
|
|
232
104
|
changes?: number;
|
|
233
105
|
}>>;
|