velocious 1.0.474 → 1.0.476

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 (141) hide show
  1. package/README.md +10 -2
  2. package/build/configuration-types.js +39 -1
  3. package/build/configuration.js +46 -1
  4. package/build/database/drivers/base.js +67 -3
  5. package/build/database/drivers/mssql/index.js +13 -0
  6. package/build/database/drivers/mssql/sql/remove-index.js +6 -0
  7. package/build/database/drivers/mysql/index.js +87 -7
  8. package/build/database/drivers/mysql/sql/remove-index.js +6 -0
  9. package/build/database/drivers/pgsql/index.js +13 -0
  10. package/build/database/drivers/pgsql/sql/remove-index.js +6 -0
  11. package/build/database/drivers/sqlite/base.js +13 -0
  12. package/build/database/drivers/sqlite/connection-sql-js.js +16 -5
  13. package/build/database/drivers/sqlite/index.web.js +29 -15
  14. package/build/database/drivers/sqlite/sql/remove-index.js +6 -0
  15. package/build/database/drivers/sqlite/web-persistence.js +521 -0
  16. package/build/database/migration/index.js +44 -0
  17. package/build/database/pool/base-methods-forward.js +1 -0
  18. package/build/database/query/remove-index-base.js +39 -0
  19. package/build/database/record/index.js +25 -9
  20. package/build/environment-handlers/node/cli/commands/generate/base-models.js +36 -0
  21. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +63 -0
  22. package/build/frontend-model-controller.js +401 -4
  23. package/build/frontend-model-resource/base-resource.js +5 -1
  24. package/build/frontend-models/base.js +146 -2
  25. package/build/frontend-models/query.js +3 -3
  26. package/build/frontend-models/resource-definition.js +304 -2
  27. package/build/routes/hooks/frontend-model-command-route-hook.js +16 -0
  28. package/build/src/configuration-types.d.ts +118 -2
  29. package/build/src/configuration-types.d.ts.map +1 -1
  30. package/build/src/configuration-types.js +36 -2
  31. package/build/src/configuration.d.ts +18 -1
  32. package/build/src/configuration.d.ts.map +1 -1
  33. package/build/src/configuration.js +42 -2
  34. package/build/src/database/drivers/base.d.ts +50 -0
  35. package/build/src/database/drivers/base.d.ts.map +1 -1
  36. package/build/src/database/drivers/base.js +62 -4
  37. package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
  38. package/build/src/database/drivers/mssql/index.js +12 -1
  39. package/build/src/database/drivers/mssql/sql/remove-index.d.ts +4 -0
  40. package/build/src/database/drivers/mssql/sql/remove-index.d.ts.map +1 -0
  41. package/build/src/database/drivers/mssql/sql/remove-index.js +5 -0
  42. package/build/src/database/drivers/mysql/index.d.ts +32 -3
  43. package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
  44. package/build/src/database/drivers/mysql/index.js +76 -7
  45. package/build/src/database/drivers/mysql/sql/remove-index.d.ts +4 -0
  46. package/build/src/database/drivers/mysql/sql/remove-index.d.ts.map +1 -0
  47. package/build/src/database/drivers/mysql/sql/remove-index.js +5 -0
  48. package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
  49. package/build/src/database/drivers/pgsql/index.js +12 -1
  50. package/build/src/database/drivers/pgsql/sql/remove-index.d.ts +4 -0
  51. package/build/src/database/drivers/pgsql/sql/remove-index.d.ts.map +1 -0
  52. package/build/src/database/drivers/pgsql/sql/remove-index.js +5 -0
  53. package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
  54. package/build/src/database/drivers/sqlite/base.js +12 -1
  55. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +8 -1
  56. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
  57. package/build/src/database/drivers/sqlite/connection-sql-js.js +15 -6
  58. package/build/src/database/drivers/sqlite/index.web.d.ts +5 -5
  59. package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
  60. package/build/src/database/drivers/sqlite/index.web.js +27 -13
  61. package/build/src/database/drivers/sqlite/sql/remove-index.d.ts +4 -0
  62. package/build/src/database/drivers/sqlite/sql/remove-index.d.ts.map +1 -0
  63. package/build/src/database/drivers/sqlite/sql/remove-index.js +5 -0
  64. package/build/src/database/drivers/sqlite/web-persistence.d.ts +77 -0
  65. package/build/src/database/drivers/sqlite/web-persistence.d.ts.map +1 -0
  66. package/build/src/database/drivers/sqlite/web-persistence.js +464 -0
  67. package/build/src/database/migration/index.d.ts +25 -0
  68. package/build/src/database/migration/index.d.ts.map +1 -1
  69. package/build/src/database/migration/index.js +39 -1
  70. package/build/src/database/pool/base-methods-forward.d.ts.map +1 -1
  71. package/build/src/database/pool/base-methods-forward.js +2 -1
  72. package/build/src/database/query/remove-index-base.d.ts +35 -0
  73. package/build/src/database/query/remove-index-base.d.ts.map +1 -0
  74. package/build/src/database/query/remove-index-base.js +34 -0
  75. package/build/src/database/record/index.d.ts +11 -0
  76. package/build/src/database/record/index.d.ts.map +1 -1
  77. package/build/src/database/record/index.js +26 -11
  78. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +15 -0
  79. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
  80. package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +33 -1
  81. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +30 -0
  82. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  83. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +53 -1
  84. package/build/src/frontend-model-controller.d.ts +96 -0
  85. package/build/src/frontend-model-controller.d.ts.map +1 -1
  86. package/build/src/frontend-model-controller.js +359 -5
  87. package/build/src/frontend-model-resource/base-resource.d.ts +4 -2
  88. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  89. package/build/src/frontend-model-resource/base-resource.js +7 -2
  90. package/build/src/frontend-models/base.d.ts +29 -0
  91. package/build/src/frontend-models/base.d.ts.map +1 -1
  92. package/build/src/frontend-models/base.js +131 -3
  93. package/build/src/frontend-models/query.js +4 -4
  94. package/build/src/frontend-models/resource-definition.d.ts +6 -0
  95. package/build/src/frontend-models/resource-definition.d.ts.map +1 -1
  96. package/build/src/frontend-models/resource-definition.js +272 -3
  97. package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts.map +1 -1
  98. package/build/src/routes/hooks/frontend-model-command-route-hook.js +15 -1
  99. package/build/src/sync/device-identity.d.ts +240 -0
  100. package/build/src/sync/device-identity.d.ts.map +1 -0
  101. package/build/src/sync/device-identity.js +454 -0
  102. package/build/src/sync/local-mutation-log.d.ts +212 -0
  103. package/build/src/sync/local-mutation-log.d.ts.map +1 -0
  104. package/build/src/sync/local-mutation-log.js +404 -0
  105. package/build/src/sync/offline-grant.d.ts +157 -0
  106. package/build/src/sync/offline-grant.d.ts.map +1 -0
  107. package/build/src/sync/offline-grant.js +292 -0
  108. package/build/sync/device-identity.js +503 -0
  109. package/build/sync/local-mutation-log.js +448 -0
  110. package/build/sync/offline-grant.js +327 -0
  111. package/build/tsconfig.tsbuildinfo +1 -1
  112. package/package.json +3 -3
  113. package/src/configuration-types.js +39 -1
  114. package/src/configuration.js +46 -1
  115. package/src/database/drivers/base.js +67 -3
  116. package/src/database/drivers/mssql/index.js +13 -0
  117. package/src/database/drivers/mssql/sql/remove-index.js +6 -0
  118. package/src/database/drivers/mysql/index.js +87 -7
  119. package/src/database/drivers/mysql/sql/remove-index.js +6 -0
  120. package/src/database/drivers/pgsql/index.js +13 -0
  121. package/src/database/drivers/pgsql/sql/remove-index.js +6 -0
  122. package/src/database/drivers/sqlite/base.js +13 -0
  123. package/src/database/drivers/sqlite/connection-sql-js.js +16 -5
  124. package/src/database/drivers/sqlite/index.web.js +29 -15
  125. package/src/database/drivers/sqlite/sql/remove-index.js +6 -0
  126. package/src/database/drivers/sqlite/web-persistence.js +521 -0
  127. package/src/database/migration/index.js +44 -0
  128. package/src/database/pool/base-methods-forward.js +1 -0
  129. package/src/database/query/remove-index-base.js +39 -0
  130. package/src/database/record/index.js +25 -9
  131. package/src/environment-handlers/node/cli/commands/generate/base-models.js +36 -0
  132. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +63 -0
  133. package/src/frontend-model-controller.js +401 -4
  134. package/src/frontend-model-resource/base-resource.js +5 -1
  135. package/src/frontend-models/base.js +146 -2
  136. package/src/frontend-models/query.js +3 -3
  137. package/src/frontend-models/resource-definition.js +304 -2
  138. package/src/routes/hooks/frontend-model-command-route-hook.js +16 -0
  139. package/src/sync/device-identity.js +503 -0
  140. package/src/sync/local-mutation-log.js +448 -0
  141. package/src/sync/offline-grant.js +327 -0
@@ -1,17 +1,13 @@
1
1
  // @ts-check
2
- import BetterLocalStorage from "better-localstorage";
3
2
  import ConnectionSqlJs from "./connection-sql-js.js";
4
3
  import initSqlJs from "sql.js";
4
+ import { createSqliteWebPersistence, deleteSqliteWebPersistences, sqliteWebPersistenceKey } from "./web-persistence.js";
5
5
  import Base from "./base.js";
6
6
  /**
7
7
  * VelociousDatabaseDriversSqliteWeb class.
8
8
  * @typedef {{query: (sql: string) => Promise<Record<string, ?>[]>, close: () => Promise<void>}} SqliteWebConnection
9
9
  */
10
10
  export default class VelociousDatabaseDriversSqliteWeb extends Base {
11
- /**
12
- * Better local storage.
13
- * @type {BetterLocalStorage | undefined} */
14
- betterLocalStorage = undefined;
15
11
  /**
16
12
  * Connection.
17
13
  * @type {ConnectionSqlJs | undefined} */
@@ -30,19 +26,30 @@ export default class VelociousDatabaseDriversSqliteWeb extends Base {
30
26
  async connect() {
31
27
  this.args = this.getArgs();
32
28
  if (!this.args.getConnection) {
33
- this.betterLocalStorage ||= new BetterLocalStorage();
34
29
  if (this.args.reset) {
35
- await this.betterLocalStorage.delete(this.localStorageName());
30
+ await deleteSqliteWebPersistences({ databaseName: this.databaseName() });
36
31
  }
32
+ const persistence = await createSqliteWebPersistence({ databaseName: this.databaseName() });
37
33
  const SQL = await initSqlJs({ locateFile: this.sqlJsLocateFile() });
38
- const databaseContent = await this.betterLocalStorage.get(this.localStorageName());
39
- const connectionSqlJs = new ConnectionSqlJs(this, new SQL.Database(databaseContent));
34
+ const databaseContent = await persistence.load();
35
+ const connectionSqlJs = new ConnectionSqlJs(this, new SQL.Database(databaseContent), persistence);
40
36
  this._connection = connectionSqlJs;
41
37
  }
42
38
  }
43
39
  async close() {
44
40
  await this.getConnection().close();
45
41
  }
42
+ /**
43
+ * Flushes pending SQL.js local persistence writes.
44
+ * @returns {Promise<void>} - Resolves when pending writes are durable.
45
+ */
46
+ async flushPendingWrites() {
47
+ if (!this.args?.getConnection) {
48
+ if (!this._connection)
49
+ throw new Error("SQLite web connection has not been initialized");
50
+ await this._connection.flushDatabaseSave();
51
+ }
52
+ }
46
53
  /**
47
54
  * Runs get connection.
48
55
  * @returns {ConnectionSqlJs | SqliteWebConnection} - The connection.
@@ -58,10 +65,17 @@ export default class VelociousDatabaseDriversSqliteWeb extends Base {
58
65
  }
59
66
  }
60
67
  localStorageName() {
61
- if (!this.args?.name) {
68
+ return sqliteWebPersistenceKey(this.databaseName());
69
+ }
70
+ /**
71
+ * Returns the configured database name.
72
+ * @returns {string} - Database name.
73
+ */
74
+ databaseName() {
75
+ const name = this.args?.name;
76
+ if (typeof name !== "string" || name.length < 1)
62
77
  throw new Error("No name given in arguments for SQLite Web database");
63
- }
64
- return `VelociousDatabaseDriversSqliteWeb---${this.args?.name}`;
78
+ return name;
65
79
  }
66
80
  /**
67
81
  * Runs query actual.
@@ -78,4 +92,4 @@ export default class VelociousDatabaseDriversSqliteWeb extends Base {
78
92
  return result;
79
93
  }
80
94
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgud2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL2RyaXZlcnMvc3FsaXRlL2luZGV4LndlYi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxrQkFBa0IsTUFBTSxxQkFBcUIsQ0FBQTtBQUNwRCxPQUFPLGVBQWUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLFNBQVMsTUFBTSxRQUFRLENBQUE7QUFFOUIsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBRTVCOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxPQUFPLE9BQU8saUNBQWtDLFNBQVEsSUFBSTtJQUNqRTs7Z0RBRTRDO0lBQzVDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQTtJQUM5Qjs7NkNBRXlDO0lBQ3pDLFdBQVcsR0FBRyxTQUFTLENBQUE7SUFFdkI7OztPQUdHO0lBQ0gsZUFBZTtRQUNiLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUE7UUFFNUMsSUFBSSxPQUFPLFVBQVUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNyQyxPQUFPLFVBQVUsQ0FBQTtRQUNuQixDQUFDO1FBRUQsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsMkJBQTJCLElBQUksRUFBRSxDQUFBO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTFCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLGtCQUFrQixFQUFFLENBQUE7WUFFcEQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNwQixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQTtZQUMvRCxDQUFDO1lBRUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxTQUFTLENBQUMsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFDLENBQUMsQ0FBQTtZQUVqRSxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQTtZQUNsRixNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUE7WUFFcEYsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUE7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDO1lBQzdCLE9BQU8sa0NBQWtDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUE7UUFDdkUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFBO1lBQ3hGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQTtRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQTtRQUN2RSxDQUFDO1FBRUQsT0FBTyx1Q0FBdUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQTtJQUNqRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRztRQUNwQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7WUFDdkMsTUFBTSxjQUFjLEdBQUcsVUFBVSxFQUFFLFdBQVcsRUFBRSxJQUFJLElBQUksbUJBQW1CLENBQUE7WUFFM0UsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsY0FBYyxpQ0FBaUMsT0FBTyxNQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQzFHLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQmV0dGVyTG9jYWxTdG9yYWdlIGZyb20gXCJiZXR0ZXItbG9jYWxzdG9yYWdlXCJcbmltcG9ydCBDb25uZWN0aW9uU3FsSnMgZnJvbSBcIi4vY29ubmVjdGlvbi1zcWwtanMuanNcIlxuaW1wb3J0IGluaXRTcWxKcyBmcm9tIFwic3FsLmpzXCJcblxuaW1wb3J0IEJhc2UgZnJvbSBcIi4vYmFzZS5qc1wiXG5cbi8qKlxuICogVmVsb2Npb3VzRGF0YWJhc2VEcml2ZXJzU3FsaXRlV2ViIGNsYXNzLlxuICogQHR5cGVkZWYge3txdWVyeTogKHNxbDogc3RyaW5nKSA9PiBQcm9taXNlPFJlY29yZDxzdHJpbmcsID8+W10+LCBjbG9zZTogKCkgPT4gUHJvbWlzZTx2b2lkPn19IFNxbGl0ZVdlYkNvbm5lY3Rpb25cbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNEYXRhYmFzZURyaXZlcnNTcWxpdGVXZWIgZXh0ZW5kcyBCYXNlIHtcbiAgLyoqXG4gICAqIEJldHRlciBsb2NhbCBzdG9yYWdlLlxuICAgKiBAdHlwZSB7QmV0dGVyTG9jYWxTdG9yYWdlIHwgdW5kZWZpbmVkfSAqL1xuICBiZXR0ZXJMb2NhbFN0b3JhZ2UgPSB1bmRlZmluZWRcbiAgLyoqXG4gICAqIENvbm5lY3Rpb24uXG4gICAqIEB0eXBlIHtDb25uZWN0aW9uU3FsSnMgfCB1bmRlZmluZWR9ICovXG4gIF9jb25uZWN0aW9uID0gdW5kZWZpbmVkXG5cbiAgLyoqXG4gICAqIFJ1bnMgc3FsIGpzIGxvY2F0ZSBmaWxlLlxuICAgKiBAcmV0dXJucyB7KGZpbGU6IHN0cmluZykgPT4gc3RyaW5nfSAtIGxvY2F0ZUZpbGUgY2FsbGJhY2sgZm9yIHNxbC5qcy5cbiAgICovXG4gIHNxbEpzTG9jYXRlRmlsZSgpIHtcbiAgICBjb25zdCBsb2NhdGVGaWxlID0gdGhpcy5nZXRBcmdzKCkubG9jYXRlRmlsZVxuXG4gICAgaWYgKHR5cGVvZiBsb2NhdGVGaWxlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiBsb2NhdGVGaWxlXG4gICAgfVxuXG4gICAgcmV0dXJuIChmaWxlKSA9PiBgaHR0cHM6Ly9zcWwuanMub3JnL2Rpc3QvJHtmaWxlfWBcbiAgfVxuXG4gIGFzeW5jIGNvbm5lY3QoKSB7XG4gICAgdGhpcy5hcmdzID0gdGhpcy5nZXRBcmdzKClcblxuICAgIGlmICghdGhpcy5hcmdzLmdldENvbm5lY3Rpb24pIHtcbiAgICAgIHRoaXMuYmV0dGVyTG9jYWxTdG9yYWdlIHx8PSBuZXcgQmV0dGVyTG9jYWxTdG9yYWdlKClcblxuICAgICAgaWYgKHRoaXMuYXJncy5yZXNldCkge1xuICAgICAgICBhd2FpdCB0aGlzLmJldHRlckxvY2FsU3RvcmFnZS5kZWxldGUodGhpcy5sb2NhbFN0b3JhZ2VOYW1lKCkpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFNRTCA9IGF3YWl0IGluaXRTcWxKcyh7bG9jYXRlRmlsZTogdGhpcy5zcWxKc0xvY2F0ZUZpbGUoKX0pXG5cbiAgICAgIGNvbnN0IGRhdGFiYXNlQ29udGVudCA9IGF3YWl0IHRoaXMuYmV0dGVyTG9jYWxTdG9yYWdlLmdldCh0aGlzLmxvY2FsU3RvcmFnZU5hbWUoKSlcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb25TcWxKcyA9IG5ldyBDb25uZWN0aW9uU3FsSnModGhpcywgbmV3IFNRTC5EYXRhYmFzZShkYXRhYmFzZUNvbnRlbnQpKVxuXG4gICAgICB0aGlzLl9jb25uZWN0aW9uID0gY29ubmVjdGlvblNxbEpzXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY2xvc2UoKSB7XG4gICAgYXdhaXQgdGhpcy5nZXRDb25uZWN0aW9uKCkuY2xvc2UoKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IGNvbm5lY3Rpb24uXG4gICAqIEByZXR1cm5zIHtDb25uZWN0aW9uU3FsSnMgfCBTcWxpdGVXZWJDb25uZWN0aW9ufSAtIFRoZSBjb25uZWN0aW9uLlxuICAgKi9cbiAgZ2V0Q29ubmVjdGlvbigpIHtcbiAgICBpZiAodGhpcy5hcmdzPy5nZXRDb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm4gLyoqIEB0eXBlIHtTcWxpdGVXZWJDb25uZWN0aW9ufSAqLyAodGhpcy5hcmdzLmdldENvbm5lY3Rpb24oKSlcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLl9jb25uZWN0aW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJTUUxpdGUgd2ViIGNvbm5lY3Rpb24gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkXCIpXG4gICAgICByZXR1cm4gdGhpcy5fY29ubmVjdGlvblxuICAgIH1cbiAgfVxuXG4gIGxvY2FsU3RvcmFnZU5hbWUoKSB7XG4gICAgaWYgKCF0aGlzLmFyZ3M/Lm5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIG5hbWUgZ2l2ZW4gaW4gYXJndW1lbnRzIGZvciBTUUxpdGUgV2ViIGRhdGFiYXNlXCIpXG4gICAgfVxuXG4gICAgcmV0dXJuIGBWZWxvY2lvdXNEYXRhYmFzZURyaXZlcnNTcWxpdGVXZWItLS0ke3RoaXMuYXJncz8ubmFtZX1gXG4gIH1cblxuICAvKipcbiAgICogUnVucyBxdWVyeSBhY3R1YWwuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzcWwgLSBTUUwgc3RyaW5nLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCA/PltdPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBxdWVyeSBhY3R1YWwuXG4gICAqL1xuICBhc3luYyBfcXVlcnlBY3R1YWwoc3FsKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5nZXRDb25uZWN0aW9uKCkucXVlcnkoc3FsKVxuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHJlc3VsdCkpIHtcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSB0aGlzLmdldENvbm5lY3Rpb24oKVxuICAgICAgY29uc3QgY29ubmVjdGlvbk5hbWUgPSBjb25uZWN0aW9uPy5jb25zdHJ1Y3Rvcj8ubmFtZSB8fCBcIlVua25vd25Db25uZWN0aW9uXCJcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTcWxpdGUgd2ViIGNvbm5lY3Rpb24gJHtjb25uZWN0aW9uTmFtZX0gcmV0dXJuZWQgYSBub24tYXJyYXkgcmVzdWx0OiAke3R5cGVvZiByZXN1bHR9YClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgud2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL2RyaXZlcnMvc3FsaXRlL2luZGV4LndlYi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxlQUFlLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxTQUFTLE1BQU0sUUFBUSxDQUFBO0FBQzlCLE9BQU8sRUFBQywwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLHNCQUFzQixDQUFBO0FBRXJILE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUU1Qjs7O0dBR0c7QUFFSCxNQUFNLENBQUMsT0FBTyxPQUFPLGlDQUFrQyxTQUFRLElBQUk7SUFDakU7OzZDQUV5QztJQUN6QyxXQUFXLEdBQUcsU0FBUyxDQUFBO0lBRXZCOzs7T0FHRztJQUNILGVBQWU7UUFDYixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFBO1FBRTVDLElBQUksT0FBTyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDckMsT0FBTyxVQUFVLENBQUE7UUFDbkIsQ0FBQztRQUVELE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLDJCQUEyQixJQUFJLEVBQUUsQ0FBQTtJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUUxQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM3QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sMkJBQTJCLENBQUMsRUFBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFDLENBQUMsQ0FBQTtZQUN4RSxDQUFDO1lBRUQsTUFBTSxXQUFXLEdBQUcsTUFBTSwwQkFBMEIsQ0FBQyxFQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUMsQ0FBQyxDQUFBO1lBQ3pGLE1BQU0sR0FBRyxHQUFHLE1BQU0sU0FBUyxDQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBQyxDQUFDLENBQUE7WUFDakUsTUFBTSxlQUFlLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDaEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUVqRyxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQTtRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQTtZQUV4RixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDN0IsT0FBTyxrQ0FBa0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQTtRQUN2RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUE7WUFDeEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFBO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWTtRQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFBO1FBRTVCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQTtRQUV0SCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVwRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzNCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtZQUN2QyxNQUFNLGNBQWMsR0FBRyxVQUFVLEVBQUUsV0FBVyxFQUFFLElBQUksSUFBSSxtQkFBbUIsQ0FBQTtZQUUzRSxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixjQUFjLGlDQUFpQyxPQUFPLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDMUcsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBDb25uZWN0aW9uU3FsSnMgZnJvbSBcIi4vY29ubmVjdGlvbi1zcWwtanMuanNcIlxuaW1wb3J0IGluaXRTcWxKcyBmcm9tIFwic3FsLmpzXCJcbmltcG9ydCB7Y3JlYXRlU3FsaXRlV2ViUGVyc2lzdGVuY2UsIGRlbGV0ZVNxbGl0ZVdlYlBlcnNpc3RlbmNlcywgc3FsaXRlV2ViUGVyc2lzdGVuY2VLZXl9IGZyb20gXCIuL3dlYi1wZXJzaXN0ZW5jZS5qc1wiXG5cbmltcG9ydCBCYXNlIGZyb20gXCIuL2Jhc2UuanNcIlxuXG4vKipcbiAqIFZlbG9jaW91c0RhdGFiYXNlRHJpdmVyc1NxbGl0ZVdlYiBjbGFzcy5cbiAqIEB0eXBlZGVmIHt7cXVlcnk6IChzcWw6IHN0cmluZykgPT4gUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCA/PltdPiwgY2xvc2U6ICgpID0+IFByb21pc2U8dm9pZD59fSBTcWxpdGVXZWJDb25uZWN0aW9uXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzRGF0YWJhc2VEcml2ZXJzU3FsaXRlV2ViIGV4dGVuZHMgQmFzZSB7XG4gIC8qKlxuICAgKiBDb25uZWN0aW9uLlxuICAgKiBAdHlwZSB7Q29ubmVjdGlvblNxbEpzIHwgdW5kZWZpbmVkfSAqL1xuICBfY29ubmVjdGlvbiA9IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBSdW5zIHNxbCBqcyBsb2NhdGUgZmlsZS5cbiAgICogQHJldHVybnMgeyhmaWxlOiBzdHJpbmcpID0+IHN0cmluZ30gLSBsb2NhdGVGaWxlIGNhbGxiYWNrIGZvciBzcWwuanMuXG4gICAqL1xuICBzcWxKc0xvY2F0ZUZpbGUoKSB7XG4gICAgY29uc3QgbG9jYXRlRmlsZSA9IHRoaXMuZ2V0QXJncygpLmxvY2F0ZUZpbGVcblxuICAgIGlmICh0eXBlb2YgbG9jYXRlRmlsZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICByZXR1cm4gbG9jYXRlRmlsZVxuICAgIH1cblxuICAgIHJldHVybiAoZmlsZSkgPT4gYGh0dHBzOi8vc3FsLmpzLm9yZy9kaXN0LyR7ZmlsZX1gXG4gIH1cblxuICBhc3luYyBjb25uZWN0KCkge1xuICAgIHRoaXMuYXJncyA9IHRoaXMuZ2V0QXJncygpXG5cbiAgICBpZiAoIXRoaXMuYXJncy5nZXRDb25uZWN0aW9uKSB7XG4gICAgICBpZiAodGhpcy5hcmdzLnJlc2V0KSB7XG4gICAgICAgIGF3YWl0IGRlbGV0ZVNxbGl0ZVdlYlBlcnNpc3RlbmNlcyh7ZGF0YWJhc2VOYW1lOiB0aGlzLmRhdGFiYXNlTmFtZSgpfSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGVyc2lzdGVuY2UgPSBhd2FpdCBjcmVhdGVTcWxpdGVXZWJQZXJzaXN0ZW5jZSh7ZGF0YWJhc2VOYW1lOiB0aGlzLmRhdGFiYXNlTmFtZSgpfSlcbiAgICAgIGNvbnN0IFNRTCA9IGF3YWl0IGluaXRTcWxKcyh7bG9jYXRlRmlsZTogdGhpcy5zcWxKc0xvY2F0ZUZpbGUoKX0pXG4gICAgICBjb25zdCBkYXRhYmFzZUNvbnRlbnQgPSBhd2FpdCBwZXJzaXN0ZW5jZS5sb2FkKClcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb25TcWxKcyA9IG5ldyBDb25uZWN0aW9uU3FsSnModGhpcywgbmV3IFNRTC5EYXRhYmFzZShkYXRhYmFzZUNvbnRlbnQpLCBwZXJzaXN0ZW5jZSlcblxuICAgICAgdGhpcy5fY29ubmVjdGlvbiA9IGNvbm5lY3Rpb25TcWxKc1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNsb3NlKCkge1xuICAgIGF3YWl0IHRoaXMuZ2V0Q29ubmVjdGlvbigpLmNsb3NlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBGbHVzaGVzIHBlbmRpbmcgU1FMLmpzIGxvY2FsIHBlcnNpc3RlbmNlIHdyaXRlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBwZW5kaW5nIHdyaXRlcyBhcmUgZHVyYWJsZS5cbiAgICovXG4gIGFzeW5jIGZsdXNoUGVuZGluZ1dyaXRlcygpIHtcbiAgICBpZiAoIXRoaXMuYXJncz8uZ2V0Q29ubmVjdGlvbikge1xuICAgICAgaWYgKCF0aGlzLl9jb25uZWN0aW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJTUUxpdGUgd2ViIGNvbm5lY3Rpb24gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkXCIpXG5cbiAgICAgIGF3YWl0IHRoaXMuX2Nvbm5lY3Rpb24uZmx1c2hEYXRhYmFzZVNhdmUoKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBjb25uZWN0aW9uLlxuICAgKiBAcmV0dXJucyB7Q29ubmVjdGlvblNxbEpzIHwgU3FsaXRlV2ViQ29ubmVjdGlvbn0gLSBUaGUgY29ubmVjdGlvbi5cbiAgICovXG4gIGdldENvbm5lY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuYXJncz8uZ2V0Q29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuIC8qKiBAdHlwZSB7U3FsaXRlV2ViQ29ubmVjdGlvbn0gKi8gKHRoaXMuYXJncy5nZXRDb25uZWN0aW9uKCkpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5fY29ubmVjdGlvbikgdGhyb3cgbmV3IEVycm9yKFwiU1FMaXRlIHdlYiBjb25uZWN0aW9uIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZFwiKVxuICAgICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25cbiAgICB9XG4gIH1cblxuICBsb2NhbFN0b3JhZ2VOYW1lKCkge1xuICAgIHJldHVybiBzcWxpdGVXZWJQZXJzaXN0ZW5jZUtleSh0aGlzLmRhdGFiYXNlTmFtZSgpKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNvbmZpZ3VyZWQgZGF0YWJhc2UgbmFtZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBEYXRhYmFzZSBuYW1lLlxuICAgKi9cbiAgZGF0YWJhc2VOYW1lKCkge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLmFyZ3M/Lm5hbWVcblxuICAgIGlmICh0eXBlb2YgbmFtZSAhPT0gXCJzdHJpbmdcIiB8fCBuYW1lLmxlbmd0aCA8IDEpIHRocm93IG5ldyBFcnJvcihcIk5vIG5hbWUgZ2l2ZW4gaW4gYXJndW1lbnRzIGZvciBTUUxpdGUgV2ViIGRhdGFiYXNlXCIpXG5cbiAgICByZXR1cm4gbmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcXVlcnkgYWN0dWFsLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3FsIC0gU1FMIHN0cmluZy5cbiAgICogQHJldHVybnMge1Byb21pc2U8UmVjb3JkPHN0cmluZywgPz5bXT59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgcXVlcnkgYWN0dWFsLlxuICAgKi9cbiAgYXN5bmMgX3F1ZXJ5QWN0dWFsKHNxbCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZ2V0Q29ubmVjdGlvbigpLnF1ZXJ5KHNxbClcblxuICAgIGlmICghQXJyYXkuaXNBcnJheShyZXN1bHQpKSB7XG4gICAgICBjb25zdCBjb25uZWN0aW9uID0gdGhpcy5nZXRDb25uZWN0aW9uKClcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb25OYW1lID0gY29ubmVjdGlvbj8uY29uc3RydWN0b3I/Lm5hbWUgfHwgXCJVbmtub3duQ29ubmVjdGlvblwiXG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihgU3FsaXRlIHdlYiBjb25uZWN0aW9uICR7Y29ubmVjdGlvbk5hbWV9IHJldHVybmVkIGEgbm9uLWFycmF5IHJlc3VsdDogJHt0eXBlb2YgcmVzdWx0fWApXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export default class VelociousDatabaseConnectionDriversSqliteSqlRemoveIndex extends RemoveIndexBase {
2
+ }
3
+ import RemoveIndexBase from "../../../query/remove-index-base.js";
4
+ //# sourceMappingURL=remove-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-index.d.ts","sourceRoot":"","sources":["../../../../../../src/database/drivers/sqlite/sql/remove-index.js"],"names":[],"mappings":"AAIA;CACC;4BAH2B,qCAAqC"}
@@ -0,0 +1,5 @@
1
+ // @ts-check
2
+ import RemoveIndexBase from "../../../query/remove-index-base.js";
3
+ export default class VelociousDatabaseConnectionDriversSqliteSqlRemoveIndex extends RemoveIndexBase {
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWluZGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL2RyaXZlcnMvc3FsaXRlL3NxbC9yZW1vdmUtaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sZUFBZSxNQUFNLHFDQUFxQyxDQUFBO0FBRWpFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sc0RBQXVELFNBQVEsZUFBZTtDQUNsRyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgUmVtb3ZlSW5kZXhCYXNlIGZyb20gXCIuLi8uLi8uLi9xdWVyeS9yZW1vdmUtaW5kZXgtYmFzZS5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlQ29ubmVjdGlvbkRyaXZlcnNTcWxpdGVTcWxSZW1vdmVJbmRleCBleHRlbmRzIFJlbW92ZUluZGV4QmFzZSB7XG59XG4iXX0=
@@ -0,0 +1,77 @@
1
+ /**
2
+ * SQLite web persistence adapter.
3
+ * @typedef {object} SqliteWebPersistence
4
+ * @property {"indexeddb" | "localstorage" | "opfs"} name - Persistence backend name.
5
+ * @property {() => Promise<void>} delete - Deletes the persisted database.
6
+ * @property {() => Promise<Uint8Array | undefined>} load - Loads persisted database bytes.
7
+ * @property {(content: Uint8Array) => Promise<void>} save - Saves persisted database bytes.
8
+ */
9
+ /**
10
+ * Browser-like environment used for web persistence detection.
11
+ * @typedef {object} SqliteWebPersistenceEnvironment
12
+ * @property {unknown} [indexedDB] - IndexedDB global.
13
+ * @property {unknown} [navigator] - Navigator global.
14
+ */
15
+ /**
16
+ * Creates the best SQLite web persistence adapter supported by the current browser.
17
+ * @param {object} args - Arguments.
18
+ * @param {string} args.databaseName - Database name.
19
+ * @param {SqliteWebPersistenceEnvironment} [args.environment] - Browser-like environment.
20
+ * @returns {Promise<SqliteWebPersistence>} - Selected persistence adapter.
21
+ */
22
+ export function createSqliteWebPersistence({ databaseName, environment }: {
23
+ databaseName: string;
24
+ environment?: SqliteWebPersistenceEnvironment | undefined;
25
+ }): Promise<SqliteWebPersistence>;
26
+ /**
27
+ * Deletes SQLite web database bytes from every available persistence backend.
28
+ * @param {object} args - Arguments.
29
+ * @param {string} args.databaseName - Database name.
30
+ * @param {SqliteWebPersistenceEnvironment} [args.environment] - Browser-like environment.
31
+ * @returns {Promise<void>} - Resolves when all available backends were cleared.
32
+ */
33
+ export function deleteSqliteWebPersistences({ databaseName, environment }: {
34
+ databaseName: string;
35
+ environment?: SqliteWebPersistenceEnvironment | undefined;
36
+ }): Promise<void>;
37
+ /**
38
+ * Returns the legacy SQLite web storage key for a database name.
39
+ * @param {string} databaseName - Database name.
40
+ * @returns {string} - Persistence key.
41
+ */
42
+ export function sqliteWebPersistenceKey(databaseName: string): string;
43
+ /**
44
+ * SQLite web persistence adapter.
45
+ */
46
+ export type SqliteWebPersistence = {
47
+ /**
48
+ * - Persistence backend name.
49
+ */
50
+ name: "indexeddb" | "localstorage" | "opfs";
51
+ /**
52
+ * - Deletes the persisted database.
53
+ */
54
+ delete: () => Promise<void>;
55
+ /**
56
+ * - Loads persisted database bytes.
57
+ */
58
+ load: () => Promise<Uint8Array | undefined>;
59
+ /**
60
+ * - Saves persisted database bytes.
61
+ */
62
+ save: (content: Uint8Array) => Promise<void>;
63
+ };
64
+ /**
65
+ * Browser-like environment used for web persistence detection.
66
+ */
67
+ export type SqliteWebPersistenceEnvironment = {
68
+ /**
69
+ * - IndexedDB global.
70
+ */
71
+ indexedDB?: unknown;
72
+ /**
73
+ * - Navigator global.
74
+ */
75
+ navigator?: unknown;
76
+ };
77
+ //# sourceMappingURL=web-persistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-persistence.d.ts","sourceRoot":"","sources":["../../../../../src/database/drivers/sqlite/web-persistence.js"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AACH,0EAJG;IAAqB,YAAY,EAAzB,MAAM;IACiC,WAAW;CAC1D,GAAU,OAAO,CAAC,oBAAoB,CAAC,CAiBzC;AAED;;;;;;GAMG;AACH,2EAJG;IAAqB,YAAY,EAAzB,MAAM;IACiC,WAAW;CAC1D,GAAU,OAAO,CAAC,IAAI,CAAC,CAUzB;AAED;;;;GAIG;AACH,sDAHW,MAAM,GACJ,MAAM,CAMlB;;;;;;;;UA/Da,WAAW,GAAG,cAAc,GAAG,MAAM;;;;YACrC,MAAM,OAAO,CAAC,IAAI,CAAC;;;;UACnB,MAAM,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;;;;UACrC,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC;;;;;;;;;gBAMtC,OAAO;;;;gBACP,OAAO"}