@vantail/api 0.1.6-dev.18 → 0.1.9-dev.26
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/dist/database.d.ts +32 -0
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +19 -0
- package/dist/database.js.map +1 -1
- package/package.json +1 -1
package/dist/database.d.ts
CHANGED
|
@@ -81,6 +81,19 @@ export interface OpenOptions {
|
|
|
81
81
|
path: string;
|
|
82
82
|
/** Open an existing database without being able to change it. */
|
|
83
83
|
readOnly?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Encrypt the file, with a key the runtime reads from the OS credential
|
|
86
|
+
* store under this name. Make it with {@link database.createKey}.
|
|
87
|
+
*
|
|
88
|
+
* The key never crosses into JavaScript, which is the point: a page that
|
|
89
|
+
* has been taken over can ask for the database it was already allowed to
|
|
90
|
+
* open, and still cannot read the key out to take the file elsewhere.
|
|
91
|
+
*
|
|
92
|
+
* Needs `permissions.secrets` as well as `permissions.database`, and a
|
|
93
|
+
* runtime built with the `database-encryption` feature - one without it
|
|
94
|
+
* refuses rather than quietly opening the file in the clear.
|
|
95
|
+
*/
|
|
96
|
+
keySecret?: string;
|
|
84
97
|
}
|
|
85
98
|
/**
|
|
86
99
|
* SQLite, from the runtime.
|
|
@@ -118,6 +131,25 @@ export interface OpenOptions {
|
|
|
118
131
|
* means nothing.
|
|
119
132
|
*/
|
|
120
133
|
export declare const database: {
|
|
134
|
+
/**
|
|
135
|
+
* Generate a database key and put it straight into the credential store.
|
|
136
|
+
*
|
|
137
|
+
* Generated in the runtime rather than by your application, so the key has
|
|
138
|
+
* no reason to exist in the webview at all - not in a variable, not in a
|
|
139
|
+
* promise, not in a heap snapshot. You never see it, and do not need to.
|
|
140
|
+
*
|
|
141
|
+
* ```ts
|
|
142
|
+
* if (!(await secrets.has("ledger-key"))) {
|
|
143
|
+
* await database.createKey("ledger-key");
|
|
144
|
+
* }
|
|
145
|
+
* const db = await database.open({ path, keySecret: "ledger-key" });
|
|
146
|
+
* ```
|
|
147
|
+
*
|
|
148
|
+
* Refuses if that name already holds a key: overwriting one would make
|
|
149
|
+
* every database it opened permanently unreadable, so removing it has to be
|
|
150
|
+
* a thing you did on purpose.
|
|
151
|
+
*/
|
|
152
|
+
createKey: (secret: string) => Promise<null>;
|
|
121
153
|
open: (options: OpenOptions) => Promise<Database>;
|
|
122
154
|
};
|
|
123
155
|
//# sourceMappingURL=database.d.ts.map
|
package/dist/database.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/D,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAEzE,qEAAqE;AACrE,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC;AAElE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAED,sDAAsD;AACtD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,GAAG,SAAS,WAAW,GAAG,WAAW,EACzC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClB,OAAO,CACL,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,QAAQ;IACvB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,iBAAiB;IACjB,KAAK,CAAC,GAAG,SAAS,WAAW,GAAG,WAAW,EACzC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAElB,wCAAwC;IACxC,OAAO,CACL,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAElC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEjE;;;;;OAKG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAElD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,QAAQ;IACnB,IAAI,YAAkB,WAAW,KAAG,OAAO,CAAC,QAAQ,CAAC;CAOtD,CAAC"}
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/D,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAEzE,qEAAqE;AACrE,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC;AAElE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAED,sDAAsD;AACtD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,GAAG,SAAS,WAAW,GAAG,WAAW,EACzC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClB,OAAO,CACL,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,QAAQ;IACvB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,iBAAiB;IACjB,KAAK,CAAC,GAAG,SAAS,WAAW,GAAG,WAAW,EACzC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAElB,wCAAwC;IACxC,OAAO,CACL,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAElC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEjE;;;;;OAKG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAElD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,QAAQ;IACnB;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,WAAW,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAG1C,IAAI,YAAkB,WAAW,KAAG,OAAO,CAAC,QAAQ,CAAC;CAOtD,CAAC"}
|
package/dist/database.js
CHANGED
|
@@ -36,6 +36,25 @@ import { invoke } from "./transport.js";
|
|
|
36
36
|
* means nothing.
|
|
37
37
|
*/
|
|
38
38
|
export const database = {
|
|
39
|
+
/**
|
|
40
|
+
* Generate a database key and put it straight into the credential store.
|
|
41
|
+
*
|
|
42
|
+
* Generated in the runtime rather than by your application, so the key has
|
|
43
|
+
* no reason to exist in the webview at all - not in a variable, not in a
|
|
44
|
+
* promise, not in a heap snapshot. You never see it, and do not need to.
|
|
45
|
+
*
|
|
46
|
+
* ```ts
|
|
47
|
+
* if (!(await secrets.has("ledger-key"))) {
|
|
48
|
+
* await database.createKey("ledger-key");
|
|
49
|
+
* }
|
|
50
|
+
* const db = await database.open({ path, keySecret: "ledger-key" });
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* Refuses if that name already holds a key: overwriting one would make
|
|
54
|
+
* every database it opened permanently unreadable, so removing it has to be
|
|
55
|
+
* a thing you did on purpose.
|
|
56
|
+
*/
|
|
57
|
+
createKey: (secret) => invoke("database.createKey", { secret }),
|
|
39
58
|
open: async (options) => {
|
|
40
59
|
const opened = await invoke("database.open", options);
|
|
41
60
|
return connect(opened.id, opened.path);
|
package/dist/database.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAoB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|