@calmlens/sdk 0.5.0 → 0.7.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 +118 -18
- package/cjs/{CalmLensTypes-DG_kHVqY.d.ts → CalmLensTypes-BpmT60j-.d.ts} +2 -1
- package/cjs/{CalmLensUtils-0QaxbI3A.js → CalmLensUtils-CJ6o7KRU.js} +35 -8
- package/cjs/index.d.ts +4884 -2
- package/cjs/index.js +148 -83
- package/cjs/testing.d.ts +56 -15
- package/cjs/testing.js +237 -125
- package/esm/{CalmLensTypes-DG_kHVqY.d.ts → CalmLensTypes-BpmT60j-.d.ts} +2 -1
- package/esm/{CalmLensUtils-BQEgxGWk.js → CalmLensUtils-BZsX8yeO.js} +30 -9
- package/esm/index.d.ts +4884 -2
- package/esm/index.js +147 -84
- package/esm/testing.d.ts +56 -15
- package/esm/testing.js +237 -125
- package/package.json +7 -8
- package/bin/calmlens.js +0 -1323
package/esm/testing.d.ts
CHANGED
|
@@ -1,19 +1,31 @@
|
|
|
1
|
-
import { A as GetEventsResponse, D as GetAssetChildrenResponse, F as Folder, N as AssetBinaryPayloadInput, O as GetAssetResponse, P as Lens, S as SubmitAssetOptions, T as UploadAssetPartOptions,
|
|
1
|
+
import { A as GetEventsResponse, C as UpdateAssetOptions, D as GetAssetChildrenResponse, F as Folder, G as AssetStatus, N as AssetBinaryPayloadInput, O as GetAssetResponse, P as Lens, S as SubmitAssetOptions, T as UploadAssetPartOptions, W as Asset, a as CreateAssetSignedUrlOptions, b as RetrieveAssetOptions, c as EnsureLensOptions, d as ListAssetChildrenOptions, f as ListAssetsOptions, g as MoveFolderOptions, h as MoveAssetOptions, i as CdnServeOptions, j as PostAssetSignedUrlResponse, k as GetAssetsPageResponse, l as EnsureLensesOptions, m as ModerateTextOptions, n as CalmLensClientOptions, o as CreateFolderOptions, p as ListEventsOptions, r as CdnAssetUrlOptions, u as FolderIdOptions, w as UpdateFolderOptions, x as RetryAssetOptions } from "./CalmLensTypes-BpmT60j-.js";
|
|
2
2
|
import * as zod from "zod";
|
|
3
3
|
//#region ../shared/src/Permissions.d.ts
|
|
4
4
|
declare const GRANT_SCHEMA: zod.ZodObject<{
|
|
5
5
|
actions: zod.ZodArray<zod.ZodEnum<{
|
|
6
|
+
"api-keys:read": "api-keys:read";
|
|
7
|
+
"api-keys:write": "api-keys:write";
|
|
6
8
|
"assets:create": "assets:create";
|
|
7
9
|
"assets:delete": "assets:delete";
|
|
8
10
|
"assets:download": "assets:download";
|
|
9
11
|
"assets:read": "assets:read";
|
|
10
12
|
"assets:share": "assets:share";
|
|
11
13
|
"assets:update": "assets:update";
|
|
14
|
+
"connectors:read": "connectors:read";
|
|
15
|
+
"connectors:write": "connectors:write";
|
|
12
16
|
"folders:create": "folders:create";
|
|
13
17
|
"folders:delete": "folders:delete";
|
|
14
18
|
"folders:read": "folders:read";
|
|
15
19
|
"folders:update": "folders:update";
|
|
20
|
+
"lenses:read": "lenses:read";
|
|
21
|
+
"lenses:write": "lenses:write";
|
|
22
|
+
"members:read": "members:read";
|
|
23
|
+
"members:write": "members:write";
|
|
24
|
+
"metadata:read": "metadata:read";
|
|
25
|
+
"metadata:write": "metadata:write";
|
|
16
26
|
"project:manage": "project:manage";
|
|
27
|
+
"settings:read": "settings:read";
|
|
28
|
+
"settings:write": "settings:write";
|
|
17
29
|
}>>;
|
|
18
30
|
folderId: zod.ZodNullable<zod.ZodString>;
|
|
19
31
|
includeSubfolders: zod.ZodBoolean;
|
|
@@ -92,9 +104,21 @@ interface MockCalmLensClientOptions extends CalmLensClientOptions {
|
|
|
92
104
|
queuedStatus?: AssetStatus;
|
|
93
105
|
analyzedStatus?: AssetStatus;
|
|
94
106
|
signedUrlBaseUrl?: string;
|
|
95
|
-
cdnBaseUrl?: string;
|
|
96
107
|
};
|
|
97
108
|
}
|
|
109
|
+
/** A `MockCalmLensClient` method, named like its path on the client. */
|
|
110
|
+
type MockCalmLensOperation = "assets.list" | "assets.retrieve" | "assets.update" | "assets.listChildren" | "assets.create" | "assets.moderate" | "assets.uploadPart" | "assets.createSignedUrl" | "assets.move" | "assets.retry" | "text.moderate" | "cdn.serve" | "events.list" | "folders.list" | "folders.retrieve" | "folders.create" | "folders.update" | "folders.delete" | "folders.move" | "ensureLens" | "ensureLenses";
|
|
111
|
+
/** One recorded call: the method and the options object it was given, exactly as passed. */
|
|
112
|
+
interface MockCalmLensCall {
|
|
113
|
+
operation: MockCalmLensOperation;
|
|
114
|
+
options: unknown;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* What a simulated request failure throws: `"transport-error"` and `"timeout"` throw the same
|
|
118
|
+
* `CalmLensError` the real client throws for a network failure (`sdk/transport-error`) or a
|
|
119
|
+
* deadline (`sdk/timeout`); any `Error` is thrown as given.
|
|
120
|
+
*/
|
|
121
|
+
type MockRequestFailure = "transport-error" | "timeout" | Error;
|
|
98
122
|
export declare class MockCalmLensClient {
|
|
99
123
|
private readonly options;
|
|
100
124
|
readonly databaseStorage: MockDatabaseStorage;
|
|
@@ -107,10 +131,24 @@ export declare class MockCalmLensClient {
|
|
|
107
131
|
private readonly signedUrlBaseUrl;
|
|
108
132
|
private readonly cdnBaseUrl;
|
|
109
133
|
private readonly lenses;
|
|
134
|
+
private readonly pendingFailures;
|
|
135
|
+
/** Every call made through this client, oldest first. */
|
|
136
|
+
readonly calls: MockCalmLensCall[];
|
|
137
|
+
/** Accepts the same options as `CalmLensClient` (validated the same way), plus `mockOptions`. */
|
|
110
138
|
constructor(options: MockCalmLensClientOptions);
|
|
139
|
+
/**
|
|
140
|
+
* Makes the next call (or the next call to `operation`) throw `failure` instead of running,
|
|
141
|
+
* as if the request never completed. Queue several to fail several calls in a row.
|
|
142
|
+
*/
|
|
143
|
+
failNextRequest(failure?: MockRequestFailure, { operation }?: {
|
|
144
|
+
operation?: MockCalmLensOperation;
|
|
145
|
+
}): void;
|
|
146
|
+
/** Calls recorded for one operation, oldest first. */
|
|
147
|
+
callsTo(operation: MockCalmLensOperation): MockCalmLensCall[];
|
|
148
|
+
private begin;
|
|
111
149
|
get cdn(): {
|
|
112
150
|
getAssetUrl: ({ assetIdentifier, ...options }: CdnAssetUrlOptions) => string;
|
|
113
|
-
serve: (
|
|
151
|
+
serve: (serveOptions: CdnServeOptions) => Promise<Response>;
|
|
114
152
|
};
|
|
115
153
|
get events(): {
|
|
116
154
|
/** The mock does not record events; it always returns an empty page at "now". */
|
|
@@ -121,29 +159,32 @@ export declare class MockCalmLensClient {
|
|
|
121
159
|
};
|
|
122
160
|
get assets(): {
|
|
123
161
|
list: (options: ListAssetsOptions) => Promise<GetAssetsPageResponse>;
|
|
124
|
-
retrieve: (
|
|
125
|
-
listChildren: (
|
|
162
|
+
retrieve: (options: RetrieveAssetOptions) => Promise<GetAssetResponse>;
|
|
163
|
+
listChildren: (childrenOptions: ListAssetChildrenOptions) => Promise<GetAssetChildrenResponse>;
|
|
164
|
+
update: (options: UpdateAssetOptions) => Promise<Asset>;
|
|
126
165
|
create: (options: SubmitAssetOptions) => Promise<Asset>;
|
|
127
166
|
moderate: (options: SubmitAssetOptions) => Promise<Asset>;
|
|
128
|
-
uploadPart: (
|
|
129
|
-
createSignedUrl: (
|
|
130
|
-
move: (
|
|
131
|
-
retry: (
|
|
167
|
+
uploadPart: (options: UploadAssetPartOptions) => Promise<Asset>;
|
|
168
|
+
createSignedUrl: (signedUrlOptions: CreateAssetSignedUrlOptions) => Promise<PostAssetSignedUrlResponse>;
|
|
169
|
+
move: (options: MoveAssetOptions) => Promise<Asset>;
|
|
170
|
+
retry: (options: RetryAssetOptions) => Promise<Asset>;
|
|
132
171
|
};
|
|
133
172
|
get folders(): {
|
|
134
173
|
list: () => Promise<Folder[]>;
|
|
135
|
-
retrieve: (
|
|
174
|
+
retrieve: (options: FolderIdOptions) => Promise<Folder>;
|
|
136
175
|
create: (options: CreateFolderOptions) => Promise<Folder>;
|
|
137
|
-
update: (
|
|
138
|
-
delete: (
|
|
139
|
-
move: (
|
|
176
|
+
update: (options: UpdateFolderOptions) => Promise<Folder>;
|
|
177
|
+
delete: (options: FolderIdOptions) => Promise<void>;
|
|
178
|
+
move: (options: MoveFolderOptions) => Promise<Folder>;
|
|
140
179
|
};
|
|
141
180
|
ensureLens(options: EnsureLensOptions): Promise<Lens>;
|
|
142
|
-
|
|
181
|
+
private ensureLensDefinition;
|
|
182
|
+
ensureLenses(options: EnsureLensesOptions): Promise<Lens[]>;
|
|
183
|
+
private moderateAsset;
|
|
143
184
|
private createAsset;
|
|
144
185
|
private resolveFolder;
|
|
145
186
|
private assertUniqueFolderName;
|
|
146
187
|
private getSizeInBytes;
|
|
147
188
|
}
|
|
148
189
|
//#endregion
|
|
149
|
-
export type { MockCalmLensClientOptions, MockDatabaseStorage, MockImageStorage, MockStoredContent };
|
|
190
|
+
export type { MockCalmLensCall, MockCalmLensClientOptions, MockCalmLensOperation, MockDatabaseStorage, MockImageStorage, MockRequestFailure, MockStoredContent };
|