indexeddbshim 17.7.0 → 19.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.
Files changed (69) hide show
  1. package/README.md +13 -3
  2. package/dist/DOMException.d.ts +5 -9
  3. package/dist/DOMException.d.ts.map +1 -1
  4. package/dist/DOMStringList.d.ts +1 -2
  5. package/dist/DOMStringList.d.ts.map +1 -1
  6. package/dist/IDBCursor.d.ts +106 -52
  7. package/dist/IDBCursor.d.ts.map +1 -1
  8. package/dist/IDBFactory.d.ts.map +1 -1
  9. package/dist/IDBIndex.d.ts +8 -7
  10. package/dist/IDBIndex.d.ts.map +1 -1
  11. package/dist/IDBKeyRange.d.ts +3 -3
  12. package/dist/IDBKeyRange.d.ts.map +1 -1
  13. package/dist/IDBObjectStore.d.ts +12 -12
  14. package/dist/IDBObjectStore.d.ts.map +1 -1
  15. package/dist/IDBRequest.d.ts +2 -2
  16. package/dist/IDBRequest.d.ts.map +1 -1
  17. package/dist/IDBTransaction.d.ts +13 -13
  18. package/dist/IDBTransaction.d.ts.map +1 -1
  19. package/dist/Key.d.ts +14 -15
  20. package/dist/Key.d.ts.map +1 -1
  21. package/dist/Sca.d.ts +2 -2
  22. package/dist/Sca.d.ts.map +1 -1
  23. package/dist/cmp.d.ts +3 -3
  24. package/dist/cmp.d.ts.map +1 -1
  25. package/dist/indexeddbshim-Key.js +37 -46
  26. package/dist/indexeddbshim-Key.js.map +1 -1
  27. package/dist/indexeddbshim-Key.min.js +2 -2
  28. package/dist/indexeddbshim-Key.min.js.map +1 -1
  29. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs +254 -215
  30. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs.map +1 -1
  31. package/dist/indexeddbshim-UnicodeIdentifiers.js +251 -450
  32. package/dist/indexeddbshim-UnicodeIdentifiers.js.map +1 -1
  33. package/dist/indexeddbshim-UnicodeIdentifiers.min.js +3 -3
  34. package/dist/indexeddbshim-UnicodeIdentifiers.min.js.map +1 -1
  35. package/dist/indexeddbshim-node.cjs +254 -215
  36. package/dist/indexeddbshim-node.cjs.map +1 -1
  37. package/dist/indexeddbshim-noninvasive.js +251 -450
  38. package/dist/indexeddbshim-noninvasive.js.map +1 -1
  39. package/dist/indexeddbshim-noninvasive.min.js +3 -3
  40. package/dist/indexeddbshim-noninvasive.min.js.map +1 -1
  41. package/dist/indexeddbshim.js +251 -450
  42. package/dist/indexeddbshim.js.map +1 -1
  43. package/dist/indexeddbshim.min.js +3 -3
  44. package/dist/indexeddbshim.min.js.map +1 -1
  45. package/dist/nodeWebSQL.d.ts +2 -2
  46. package/dist/nodeWebSQL.d.ts.map +1 -1
  47. package/dist/setGlobalVars.d.ts +1 -2
  48. package/dist/setGlobalVars.d.ts.map +1 -1
  49. package/dist/util.d.ts +35 -22
  50. package/dist/util.d.ts.map +1 -1
  51. package/package.json +1 -4
  52. package/src/CFG.js +1 -1
  53. package/src/DOMException.js +9 -11
  54. package/src/DOMStringList.js +6 -11
  55. package/src/Event.js +1 -4
  56. package/src/IDBCursor.js +98 -47
  57. package/src/IDBFactory.js +12 -11
  58. package/src/IDBIndex.js +10 -12
  59. package/src/IDBKeyRange.js +6 -5
  60. package/src/IDBObjectStore.js +32 -27
  61. package/src/IDBRequest.js +1 -1
  62. package/src/IDBTransaction.js +11 -11
  63. package/src/IDBVersionChangeEvent.js +1 -4
  64. package/src/Key.js +32 -31
  65. package/src/Sca.js +1 -1
  66. package/src/cmp.js +2 -2
  67. package/src/nodeWebSQL.js +5 -2
  68. package/src/setGlobalVars.js +8 -19
  69. package/src/util.js +42 -17
@@ -1,6 +1,6 @@
1
1
  export default nodeWebSQL;
2
2
  export type SQLiteDatabaseInstance = {
3
- _db: any;
3
+ _db: unknown;
4
4
  exec: (typeof SQLiteDatabase)["prototype"]["exec"];
5
5
  };
6
6
  /**
@@ -13,7 +13,7 @@ export type SQLiteDatabaseInstance = {
13
13
  * the default "return `this`" behavior), not something TypeScript can
14
14
  * verify structurally.
15
15
  */
16
- export type SQLiteDatabaseConstructor = new (name: string, opts?: any) => SQLiteDatabaseInstance;
16
+ export type SQLiteDatabaseConstructor = new (name: string, opts?: import("websql-configurable/lib/sqlite/SQLiteDatabase.js").SQLiteDatabaseOptions) => SQLiteDatabaseInstance;
17
17
  declare const nodeWebSQL: (...args: unknown[]) => import("websql-configurable/lib/websql/WebSQLDatabase.js").default;
18
18
  import SQLiteDatabase from 'websql-configurable/lib/sqlite/SQLiteDatabase.js';
19
19
  //# sourceMappingURL=nodeWebSQL.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeWebSQL.d.ts","sourceRoot":"","sources":["../src/nodeWebSQL.js"],"names":[],"mappings":";qCAKa;IACR,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,CAAA,OAAO,cAAc,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;CACjD;;;;;;;;;;;wCAYS,KAAK,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,sBAAsB;AAgCrE,qHAAsK;2BAnD3I,kDAAkD"}
1
+ {"version":3,"file":"nodeWebSQL.d.ts","sourceRoot":"","sources":["../src/nodeWebSQL.js"],"names":[],"mappings":";qCAKa;IACR,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,CAAA,OAAO,cAAc,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;CACjD;;;;;;;;;;;wCAYS,KACR,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,kDAAkD,EAAE,qBAAqB,KACpF,sBAAsB;AAgC9B,qHAAsK;2BAtD3I,kDAAkD"}
@@ -1,7 +1,6 @@
1
1
  export { createDOMException };
2
2
  export default setGlobalVars;
3
- export type AnyValue = any;
4
- export type SetConfig = (prop: import("./CFG.js").KeyofConfigValues | Partial<import("./CFG.js").ConfigValues>, val?: AnyValue) => any;
3
+ export type SetConfig = (prop: import("./CFG.js").KeyofConfigValues | Partial<import("./CFG.js").ConfigValues>, val?: import("./CFG.js").ConfigValue | undefined) => any;
5
4
  export type GetConfig = (prop: import("./CFG.js").KeyofConfigValues) => import("./CFG.js").ConfigValue;
6
5
  export type SetUnicodeIdentifiers = (cfg: {
7
6
  UnicodeIDStart: string;
@@ -1 +1 @@
1
- {"version":3,"file":"setGlobalVars.d.ts","sourceRoot":"","sources":["../src/setGlobalVars.js"],"names":[],"mappings":";;uBAkBa,GAAG;+BAKL,OAAO,UAAU,EAAE,iBAAiB,GAC1C,OAAO,CAAC,OAAO,UAAU,EAAE,YAAY,CAAC,QAClC,QAAQ;wBAoCN,CACR,IAAI,EAAE,OAAO,UAAU,EAAE,iBAAiB,KACvC,OAAO,UAAU,EAAE,WAAW;oCAIzB,CAAC,GAAG,EAAE;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,KAAK,IAAI;4BAIA,CAAC,UAAU,GAAC,MAAM,CAAC,GAAG;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,SAAS,CAAC;IACvB,WAAW,EAAE,SAAS,CAAC;IACvB,uBAAuB,EAAE,qBAAqB,CAAC;IAC/C,0BAA0B,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACtD;sBAIO,MAAM;4BAIN,CAAC,OAAO,UAAU,GAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;mCAhG+C,mBAAmB;AAwDtE;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;;;;;;;GASG;AAEH;;GAEG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;GAKG;AACH,qCAJW,OAAO,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAC3C,OAAO,CAAC,OAAO,UAAU,EAAE,YAAY,CAAC,GACtC,aAAa,CAiTzB;2BAvZ8C,iBAAiB"}
1
+ {"version":3,"file":"setGlobalVars.d.ts","sourceRoot":"","sources":["../src/setGlobalVars.js"],"names":[],"mappings":";;+BAmBW,OAAO,UAAU,EAAE,iBAAiB,GAC1C,OAAO,CAAC,OAAO,UAAU,EAAE,YAAY,CAAC;wBAqChC,CACR,IAAI,EAAE,OAAO,UAAU,EAAE,iBAAiB,KACvC,OAAO,UAAU,EAAE,WAAW;oCAIzB,CAAC,GAAG,EAAE;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,KAAK,IAAI;4BAIA,CAAC,UAAU,GAAC,MAAM,CAAC,GAAG;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,SAAS,CAAC;IACvB,WAAW,EAAE,SAAS,CAAC;IACvB,uBAAuB,EAAE,qBAAqB,CAAC;IAC/C,0BAA0B,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACtD;sBAIO,MAAM;4BAIN,CAAC,OAAO,UAAU,GAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;mCA5F+C,mBAAmB;AAoDtE;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;;;;;;;GASG;AAEH;;GAEG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;GAKG;AACH,qCAJW,OAAO,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAC3C,OAAO,CAAC,OAAO,UAAU,EAAE,YAAY,CAAC,GACtC,aAAa,CA0SzB;2BA5Y8C,iBAAiB"}
package/dist/util.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export type Integer = number;
2
- export type AnyClass = Function;
3
- export type AnyValue = any;
2
+ export type AnyClass = {
3
+ [Symbol.hasInstance]: (value: unknown) => boolean;
4
+ };
5
+ export type AnyValue = unknown;
4
6
  /**
5
7
  * The escaping of unmatched surrogates was needed by Chrome but not Node.
6
8
  * @param {string} arg
@@ -51,7 +53,22 @@ export function sqlLIKEEscape(str: string): string;
51
53
  */
52
54
  export function sqlQuote(arg: string): string;
53
55
  /**
54
- * @typedef {Function} AnyClass
56
+ * Minimal replacement for `path.join(base, name)` covering our only use case:
57
+ * `name` is always a bare file name (no separators and no `.`/`..`), and
58
+ * `base` is a directory path expected to be absolute and normalized (an
59
+ * empty string means the current working directory). Unlike `path.join`,
60
+ * this performs no `.`/`..` resolution. It reuses the separator style of
61
+ * `base` (backslash only when `base` uses backslashes and no forward
62
+ * slashes, i.e. a Windows path), otherwise `/`; Node's `fs`, SQLite, and
63
+ * `websql-configurable` accept either separator on Windows regardless.
64
+ * Avoiding `node:path` keeps browser bundles free of a path polyfill.
65
+ * @param {string} base
66
+ * @param {string} name
67
+ * @returns {string}
68
+ */
69
+ export function joinPath(base: string, name: string): string;
70
+ /**
71
+ * @typedef {{[Symbol.hasInstance]: (value: unknown) => boolean}} AnyClass
55
72
  */
56
73
  /**
57
74
  *
@@ -68,28 +85,28 @@ export function instanceOf(obj: AnyValue, Clss: AnyClass): boolean;
68
85
  export function isObj(obj: AnyValue): obj is object;
69
86
  /**
70
87
  *
71
- * @param {object} obj
88
+ * @param {AnyValue} obj
72
89
  * @returns {boolean}
73
90
  */
74
- export function isDate(obj: object): boolean;
91
+ export function isDate(obj: AnyValue): boolean;
75
92
  /**
76
93
  *
77
- * @param {object} obj
94
+ * @param {AnyValue} obj
78
95
  * @returns {boolean}
79
96
  */
80
- export function isBlob(obj: object): boolean;
97
+ export function isBlob(obj: AnyValue): boolean;
81
98
  /**
82
99
  *
83
- * @param {object} obj
100
+ * @param {AnyValue} obj
84
101
  * @returns {boolean}
85
102
  */
86
- export function isRegExp(obj: object): boolean;
103
+ export function isRegExp(obj: AnyValue): boolean;
87
104
  /**
88
105
  *
89
- * @param {object} obj
106
+ * @param {AnyValue} obj
90
107
  * @returns {boolean}
91
108
  */
92
- export function isFile(obj: object): boolean;
109
+ export function isFile(obj: AnyValue): boolean;
93
110
  /**
94
111
  *
95
112
  * @param {AnyValue} obj
@@ -99,9 +116,9 @@ export function isBinary(obj: AnyValue): boolean;
99
116
  /**
100
117
  *
101
118
  * @param {AnyValue} obj
102
- * @returns {boolean}
119
+ * @returns {obj is Iterable<unknown>}
103
120
  */
104
- export function isIterable(obj: AnyValue): boolean;
121
+ export function isIterable(obj: AnyValue): obj is Iterable<unknown>;
105
122
  /**
106
123
  *
107
124
  * @param {object} obj
@@ -118,26 +135,22 @@ export function defineOuterInterface(obj: object, props: string[]): void;
118
135
  export function defineReadonlyOuterInterface(obj: object, props: string[]): void;
119
136
  /**
120
137
  *
121
- * @param {object & {
122
- * [key: string]: any
123
- * }} obj
138
+ * @param {object} obj
124
139
  * @param {string[]} listeners
125
140
  * @returns {void}
126
141
  */
127
- export function defineListenerProperties(obj: object & {
128
- [key: string]: any;
129
- }, listeners: string[]): void;
142
+ export function defineListenerProperties(obj: object, listeners: string[]): void;
130
143
  /**
131
144
  *
132
145
  * @param {object} obj
133
146
  * @param {string|string[]} props
134
147
  * @param {null|{
135
- * [key: string]: any
148
+ * [key: string]: unknown
136
149
  * }} getter
137
150
  * @returns {void}
138
151
  */
139
152
  export function defineReadonlyProperties(obj: object, props: string | string[], getter?: null | {
140
- [key: string]: any;
153
+ [key: string]: unknown;
141
154
  }): void;
142
155
  /**
143
156
  * `X.prototype.method = function (...) {}` (an assignment to a
@@ -168,7 +181,7 @@ export function isValidKeyPath(keyPath: string | string[]): boolean;
168
181
  */
169
182
  export function enforceRange(number: number, type: "unsigned long long" | "unsigned long"): number;
170
183
  /**
171
- * @typedef {any} AnyValue
184
+ * @typedef {unknown} AnyValue
172
185
  */
173
186
  /**
174
187
  * @param {AnyValue} v
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.js"],"names":[],"mappings":"sBAKa,MAAM;;uBAwhBN,GAAG;AA9ehB;;;;GAIG;AACH,2CAHW,MAAM,GACJ,MAAM,CASlB;AAED;;;GAGG;AACH,4CAHW,MAAM,GACJ,MAAM,CAclB;AAuBD;;;;GAIG;AACH,qDAJW,MAAM,GAEJ,MAAM,CAoClB;AAmBD;;;;GAIG;AACH,uDAHW,MAAM,GACJ,MAAM,CAkClB;AAED;;;GAGG;AACH,6CAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;GAGG;AACH,6CAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;GAGG;AACH,sDAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;GAIG;AACH,mCAHW,MAAM,GACJ,MAAM,CAKlB;AAzID;;;GAGG;AACH,8BAHW,MAAM,GACJ,MAAM,CAIlB;AAqID;;GAEG;AAGH;;;;;GAKG;AACH,gCAJW,QAAQ,QACR,QAAQ,GACN,OAAO,CAInB;AAED;;;;GAIG;AACH,2BAHW,QAAQ,GACN,GAAG,IAAI,MAAM,CAIzB;AAED;;;;GAIG;AACH,4BAHW,MAAM,GACJ,OAAO,CAInB;AAED;;;;GAIG;AACH,4BAHW,MAAM,GACJ,OAAO,CAKnB;AAED;;;;GAIG;AACH,8BAHW,MAAM,GACJ,OAAO,CAKnB;AAED;;;;GAIG;AACH,4BAHW,MAAM,GACJ,OAAO,CAKnB;AAED;;;;GAIG;AACH,8BAHW,QAAQ,GACN,OAAO,CAOnB;AAED;;;;GAIG;AACH,gCAHW,QAAQ,GACN,OAAO,CAOnB;AAED;;;;;GAKG;AACH,0CAJW,MAAM,SACN,MAAM,EAAE,GACN,IAAI,CAkBhB;AAED;;;;;GAKG;AACH,kDAJW,MAAM,SACN,MAAM,EAAE,GACN,IAAI,CAchB;AAED;;;;;;;GAOG;AACH,8CANW,MAAM,GAAG;IACnB,CAAK,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,aACO,MAAM,EAAE,GACN,IAAI,CA0BhB;AAED;;;;;;;;GAQG;AACH,8CAPW,MAAM,SACN,MAAM,GAAC,MAAM,EAAE,WACf,IAAI,GAAC;IACf,CAAK,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,GACS,IAAI,CA8BhB;AAED;;;;;;;;;;;;;GAaG;AACH,uCAHW,MAAM,GACJ,IAAI,CAchB;AAgCD;;;;GAIG;AACH,wCAHW,MAAM,GAAC,MAAM,EAAE,GACb,OAAO,CAWnB;AAED;;;;;GAKG;AACH,qCALW,MAAM,QACN,oBAAoB,GAAC,eAAe,GAElC,MAAM,CAyBlB;AAED;;GAEG;AAEH;;;;GAIG;AACH,sCAJW,QAAQ,gBACR,OAAO,GACL,MAAM,CAIlB;AAWD;;;;GAIG;AACH,gDAHW,QAAQ,GACN,MAAM,GAAC,MAAM,EAAE,CAW3B;AAED;;;GAGG;AACH,6BAHW,QAAQ,GACN,CAAC,IAAI,IAAI,GAAC,SAAS,CAI/B;AA6BD;;;GAGG;AACH,0CAHW,MAAM,IAAI,GACR,IAAI,CAmBhB"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.js"],"names":[],"mappings":"sBAKa,MAAM;uBA0PN;IAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;CAAC;uBAoTnD,OAAO;AApgBpB;;;;GAIG;AACH,2CAHW,MAAM,GACJ,MAAM,CASlB;AAED;;;GAGG;AACH,4CAHW,MAAM,GACJ,MAAM,CAclB;AAuBD;;;;GAIG;AACH,qDAJW,MAAM,GAEJ,MAAM,CAoClB;AAmBD;;;;GAIG;AACH,uDAHW,MAAM,GACJ,MAAM,CAkClB;AAED;;;GAGG;AACH,6CAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;GAGG;AACH,6CAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;GAGG;AACH,sDAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;GAIG;AACH,mCAHW,MAAM,GACJ,MAAM,CAKlB;AAzID;;;GAGG;AACH,8BAHW,MAAM,GACJ,MAAM,CAIlB;AAqID;;;;;;;;;;;;;GAaG;AACH,+BAJW,MAAM,QACN,MAAM,GACJ,MAAM,CAQlB;AAGD;;GAEG;AAIH;;;;;GAKG;AACH,gCAJW,QAAQ,QACR,QAAQ,GACN,OAAO,CAInB;AAED;;;;GAIG;AACH,2BAHW,QAAQ,GACN,GAAG,IAAI,MAAM,CAIzB;AAED;;;;GAIG;AACH,4BAHW,QAAQ,GACN,OAAO,CAInB;AAED;;;;GAIG;AACH,4BAHW,QAAQ,GACN,OAAO,CAKnB;AAED;;;;GAIG;AACH,8BAHW,QAAQ,GACN,OAAO,CAKnB;AAED;;;;GAIG;AACH,4BAHW,QAAQ,GACN,OAAO,CAKnB;AAED;;;;GAIG;AACH,8BAHW,QAAQ,GACN,OAAO,CAOnB;AAED;;;;GAIG;AACH,gCAHW,QAAQ,GACN,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAOpC;AAED;;;;;GAKG;AACH,0CAJW,MAAM,SACN,MAAM,EAAE,GACN,IAAI,CAkBhB;AAED;;;;;GAKG;AACH,kDAJW,MAAM,SACN,MAAM,EAAE,GACN,IAAI,CAchB;AAED;;;;;GAKG;AACH,8CAJW,MAAM,aACN,MAAM,EAAE,GACN,IAAI,CA0BhB;AAED;;;;;;;;GAQG;AACH,8CAPW,MAAM,SACN,MAAM,GAAC,MAAM,EAAE,WACf,IAAI,GAAC;IACf,CAAK,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,GACS,IAAI,CA8BhB;AAED;;;;;;;;;;;;;GAaG;AACH,uCAHW,MAAM,GACJ,IAAI,CAchB;AAgCD;;;;GAIG;AACH,wCAHW,MAAM,GAAC,MAAM,EAAE,GACb,OAAO,CAWnB;AAED;;;;;GAKG;AACH,qCALW,MAAM,QACN,oBAAoB,GAAC,eAAe,GAElC,MAAM,CAyBlB;AAED;;GAEG;AAEH;;;;GAIG;AACH,sCAJW,QAAQ,gBACR,OAAO,GACL,MAAM,CAIlB;AAcD;;;;GAIG;AACH,gDAHW,QAAQ,GACN,MAAM,GAAC,MAAM,EAAE,CAW3B;AAED;;;GAGG;AACH,6BAHW,QAAQ,GACN,CAAC,IAAI,IAAI,GAAC,SAAS,CAI/B;AA6BD;;;GAGG;AACH,0CAHW,MAAM,IAAI,GACR,IAAI,CAmBhB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "indexeddbshim",
3
- "version": "17.7.0",
3
+ "version": "19.0.0",
4
4
  "type": "module",
5
5
  "author": "Parashuram <code@nparashuram.com>",
6
6
  "contributors": [
@@ -181,8 +181,6 @@
181
181
  "@es-joy/json-file-reporter": "^1.5.0",
182
182
  "@rollup/plugin-babel": "^7.1.0",
183
183
  "@rollup/plugin-commonjs": "^29.0.3",
184
- "@rollup/plugin-inject": "^5.0.5",
185
- "@rollup/plugin-json": "^6.1.0",
186
184
  "@rollup/plugin-node-resolve": "^16.0.3",
187
185
  "@rollup/plugin-terser": "^1.0.0",
188
186
  "@types/node": "^26.4.1",
@@ -214,7 +212,6 @@
214
212
  "rimraf": "^6.1.3",
215
213
  "rollup": "^4.63.1",
216
214
  "rollup-plugin-filesize": "^10.0.0",
217
- "rollup-plugin-node-polyfills": "^0.2.1",
218
215
  "sinon": "^22.1.0",
219
216
  "source-map-support": "0.5.21",
220
217
  "typescript": "^6.0.3",
package/src/CFG.js CHANGED
@@ -224,7 +224,7 @@ const CFG = /** @type {ConfigValues} */ ({});
224
224
  'sqlMemoryQuota',
225
225
  'createIndexes'
226
226
  ]).forEach((prop) => {
227
- /** @type {(val: any) => void} */
227
+ /** @type {(val: ConfigValue) => void} */
228
228
  let validator;
229
229
  if (Array.isArray(prop)) {
230
230
  [prop, validator] = prop;
@@ -260,7 +260,7 @@ function createNonNativeDOMException (name, message) {
260
260
 
261
261
  /**
262
262
  * @typedef {{
263
- * message: string|DOMString
263
+ * message: string
264
264
  * }} ErrorLike
265
265
  */
266
266
 
@@ -286,24 +286,21 @@ function logError (name, message, error) {
286
286
  }
287
287
 
288
288
  /**
289
- * @typedef {any} ArbitraryValue
290
- */
291
-
292
- /**
293
- * @param {ArbitraryValue} obj
289
+ * @param {unknown} obj
294
290
  * @returns {boolean}
295
291
  */
296
292
  function isErrorOrDOMErrorOrDOMException (obj) {
297
- return obj && typeof obj === 'object' && // We don't use util.isObj here as mutual dependency causing problems in Babel with browser
298
- typeof obj.name === 'string';
293
+ // We don't use util.isObj here as mutual dependency causing problems in Babel with browser
294
+ return typeof obj === 'object' && obj !== null &&
295
+ 'name' in obj && typeof obj.name === 'string';
299
296
  }
300
297
 
301
298
  /**
302
299
  * Finds the error argument. This is useful because some WebSQL callbacks
303
300
  * pass the error as the first argument, and some pass it as the second
304
301
  * argument.
305
- * @param {(Error|{message?: string, name?: string}|any)[]} args
306
- * @returns {Error|DOMException|undefined}
302
+ * @param {unknown[]} args
303
+ * @returns {unknown}
307
304
  */
308
305
  function findError (args) {
309
306
  let err;
@@ -315,7 +312,8 @@ function findError (args) {
315
312
  if (isErrorOrDOMErrorOrDOMException(arg)) {
316
313
  return arg;
317
314
  }
318
- if (arg && typeof arg.message === 'string') {
315
+ if (typeof arg === 'object' && arg !== null &&
316
+ 'message' in arg && typeof arg.message === 'string') {
319
317
  err = arg;
320
318
  }
321
319
  }
@@ -13,7 +13,7 @@
13
13
  * clone: () => DOMStringListFull,
14
14
  * contains: (str: string) => boolean,
15
15
  * indexOf: (str: string) => Integer,
16
- * splice: (index: Integer, howmany: Integer, ...args: any) => void
16
+ * splice: (index: Integer, howmany: Integer, ...args: string[]) => void
17
17
  * length: Integer
18
18
  * }} DOMStringListFull
19
19
  */
@@ -129,9 +129,10 @@ DOMStringList.prototype = {
129
129
  },
130
130
  /**
131
131
  * @this {DOMStringListFull}
132
- * @param {(value: string, i: Integer, arr: string[]) => any[]} cb
132
+ * @template T
133
+ * @param {(value: string, i: Integer, arr: string[]) => T} cb
133
134
  * @param {object} thisArg
134
- * @returns {any[]}
135
+ * @returns {T[]}
135
136
  */
136
137
  map (cb, thisArg) {
137
138
  // eslint-disable-next-line unicorn/no-array-callback-reference, unicorn/no-array-method-this-argument -- Convenient
@@ -156,10 +157,7 @@ DOMStringList.prototype = {
156
157
  this.sortList();
157
158
  },
158
159
  /**
159
- * @typedef {any} AnyArgs
160
- */
161
- /**
162
- * @param {[index: Integer, howmany: Integer, ...args: any]} args
160
+ * @param {[index: Integer, howmany: Integer, ...args: string[]]} args
163
161
  * @this {DOMStringListFull}
164
162
  * @returns {void}
165
163
  */
@@ -193,12 +191,9 @@ DOMStringList.prototype = {
193
191
  };
194
192
 
195
193
  /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
196
- /**
197
- * @typedef {any} AnyValue
198
- */
199
194
  Object.defineProperty(DOMStringList, Symbol.hasInstance, {
200
195
  /**
201
- * @param {AnyValue} obj
196
+ * @param {unknown} obj
202
197
  * @returns {boolean}
203
198
  */
204
199
  value (obj) {
package/src/Event.js CHANGED
@@ -30,12 +30,9 @@ function createEvent (type, debug, evInit) {
30
30
  // We don't add within polyfill repo as might not always be the desired implementation
31
31
  Object.defineProperty(ShimEvent, Symbol.hasInstance, {
32
32
  /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
33
- /**
34
- * @typedef {any} AnyValue
35
- */
36
33
  value:
37
34
  /**
38
- * @param {AnyValue} obj
35
+ * @param {unknown} obj
39
36
  * @returns {boolean}
40
37
  */
41
38
  (obj) => util.isObj(obj) && 'target' in obj && 'bubbles' in obj && typeof obj.bubbles === 'boolean'