@ez4/storage 0.33.0 → 0.35.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/dist/main.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var o=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var v=(t,e)=>{for(var r in e)o(t,r,{get:e[r],enumerable:!0})},a=(t,e,r,c)=>{if(e&&
2
- typeof e=="object"||typeof e=="function")for(let n of p(e))!u.call(t,n)&&n!==r&&
3
- o(t,n,{get:()=>e[n],enumerable:!(c=s(e,n))||c.enumerable});return t};var l=t=>a(o({},"__esModule",{value:!0}),t);var k={};v(k,{Bucket:()=>m,BucketEventType:()=>i});module.exports=l(k);var i=(r=>(r.Create="create",r.Delete="delete",r))(i||{});var m;(t=>{})(m||={});0&&(module.exports={Bucket,BucketEventType});
1
+ "use strict";var n=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var u=(t,e)=>{for(var r in e)n(t,r,{get:e[r],enumerable:!0})},a=(t,e,r,i)=>{if(e&&
2
+ typeof e=="object"||typeof e=="function")for(let o of s(e))!v.call(t,o)&&o!==r&&
3
+ n(t,o,{get:()=>e[o],enumerable:!(i=p(e,o))||i.enumerable});return t};var y=t=>a(n({},"__esModule",{value:!0}),t);var d={};u(d,{Bucket:()=>m,BucketEventType:()=>c});module.exports=y(d);var c=(r=>(r.Create="create",r.Delete="delete",r))(c||{});var m;(t=>{})(m||={});0&&(module.exports={Bucket,BucketEventType});
4
4
  //# sourceMappingURL=main.cjs.map
package/dist/main.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var t=(e=>(e.Create="create",e.Delete="delete",e))(t||{});var r;(n=>{})(r||={});export{r as Bucket,t as BucketEventType};
1
+ var t=(e=>(e.Create="create",e.Delete="delete",e))(t||{});var r;(o=>{})(r||={});export{r as Bucket,t as BucketEventType};
2
2
  //# sourceMappingURL=main.mjs.map
@@ -6,23 +6,23 @@ export type SignOptions = {
6
6
  /**
7
7
  * Define an expiration time (in seconds) for the signed URL.
8
8
  */
9
- expiresIn: number;
9
+ readonly expiresIn: number;
10
10
  };
11
11
  export type WriteOptions = {
12
12
  /**
13
13
  * Define the expected content type.
14
14
  */
15
- contentType: string;
15
+ readonly contentType: string;
16
16
  };
17
17
  export type ObjectStats = {
18
18
  /**
19
19
  * MIME type associated to the object.
20
20
  */
21
- type?: string;
21
+ readonly type?: string;
22
22
  /**
23
23
  * Object size.
24
24
  */
25
- size: number;
25
+ readonly size: number;
26
26
  };
27
27
  /**
28
28
  * Bucket client.
@@ -14,45 +14,20 @@ export type BucketEvent = {
14
14
  /**
15
15
  * Type of event.
16
16
  */
17
- eventType: BucketEventType;
17
+ readonly eventType: BucketEventType;
18
18
  /**
19
19
  * Bucket from the event.
20
20
  */
21
- bucketName: string;
21
+ readonly bucketName: string;
22
22
  /**
23
23
  * Object key in the bucket.
24
24
  */
25
- objectKey: string;
25
+ readonly objectKey: string;
26
26
  /**
27
27
  * Size of the created object.
28
28
  */
29
- objectSize?: number;
29
+ readonly objectSize?: number;
30
30
  };
31
- /**
32
- * Bucket CORS configuration.
33
- */
34
- export interface BucketCors {
35
- /**
36
- * List of allowed origins.
37
- */
38
- allowOrigins: string[];
39
- /**
40
- * List of allowed methods.
41
- */
42
- allowMethods?: string[];
43
- /**
44
- * List of allowed headers.
45
- */
46
- allowHeaders?: string[];
47
- /**
48
- * List of exposed headers.
49
- */
50
- exposeHeaders?: string[];
51
- /**
52
- * Determines how long the preflight result can be cached.
53
- */
54
- maxAge?: number;
55
- }
56
31
  /**
57
32
  * Incoming event.
58
33
  */
@@ -64,13 +39,13 @@ export type BucketRequest = {
64
39
  /**
65
40
  * Request tracking Id.
66
41
  */
67
- requestId: string;
42
+ readonly requestId: string;
68
43
  };
69
44
  /**
70
- * Message listener.
45
+ * Bucket event listener.
71
46
  */
72
47
  export type BucketListener<T extends BucketEvent> = (event: Service.AnyEvent<BucketIncoming<T>>, context: Service.Context<Bucket.Service>) => Promise<void> | void;
73
48
  /**
74
- * Event handler.
49
+ * Bucket event handler.
75
50
  */
76
51
  export type BucketHandler<T extends BucketEvent> = (request: BucketIncoming<T> | T, context: Service.Context<Bucket.Service>) => Promise<void> | void;
@@ -1,7 +1,9 @@
1
1
  import type { Service as CommonService } from '@ez4/common';
2
2
  import type { LinkedVariables } from '@ez4/project/library';
3
+ import type { BucketEvent, BucketHandler, BucketIncoming, BucketListener, BucketRequest } from './common';
4
+ import type { BucketEvents } from './events';
5
+ import type { BucketCors } from './cors';
3
6
  import type { Client } from './client';
4
- import type { BucketCors, BucketEvent, BucketHandler, BucketIncoming, BucketListener, BucketRequest } from './common';
5
7
  /**
6
8
  * Provide all contracts for a self-managed Bucket service.
7
9
  */
@@ -12,40 +14,16 @@ export declare namespace Bucket {
12
14
  type Request = BucketRequest;
13
15
  type Listener = BucketListener<Event>;
14
16
  type Handler = BucketHandler<Event>;
17
+ type Events = BucketEvents;
15
18
  type ServiceEvent = CommonService.BeginEvent<Request> | CommonService.ReadyEvent<Incoming> | CommonService.DoneEvent<Incoming> | CommonService.ErrorEvent<Request | Incoming> | CommonService.EndEvent<Request>;
16
19
  /**
17
- * Bucket events.
20
+ * Bucket Events definition.
18
21
  */
19
- interface Events {
20
- /**
21
- * Event listener.
22
- */
23
- listener?: Listener;
24
- /**
25
- * Event handler.
26
- */
27
- handler: Handler;
28
- /**
29
- * Path associated to the event.
30
- */
31
- path?: string;
32
- /**
33
- * Variables associated to the handler.
34
- */
35
- variables?: LinkedVariables;
36
- /**
37
- * Log retention (in days) for the handler.
38
- */
39
- logRetention?: number;
40
- /**
41
- * Max execution time (in seconds) for the handler.
42
- */
43
- timeout?: number;
44
- /**
45
- * Amount of memory available for the handler.
46
- */
47
- memory?: number;
48
- }
22
+ type UseEvents<T extends Events> = T;
23
+ /**
24
+ * Bucket CORS definition.
25
+ */
26
+ type UseCors<T extends Cors> = T;
49
27
  /**
50
28
  * Bucket service.
51
29
  */
@@ -53,30 +31,30 @@ export declare namespace Bucket {
53
31
  /**
54
32
  * Overwrite the global bucket name.
55
33
  */
56
- globalName?: string;
34
+ readonly globalName?: string;
57
35
  /**
58
36
  * Specify a local path to synchronize with the storage.
59
37
  */
60
- localPath?: string;
38
+ readonly localPath?: string;
61
39
  /**
62
40
  * Maximum amount of days an object is stored before its auto-deletion.
63
41
  */
64
- autoExpireDays?: number;
42
+ readonly autoExpireDays?: number;
65
43
  /**
66
44
  * Bucket events.
67
45
  */
68
- events?: Events;
46
+ readonly events?: Events;
69
47
  /**
70
48
  * CORS configuration.
71
49
  */
72
- cors?: Cors;
50
+ readonly cors?: Cors;
73
51
  /**
74
52
  * Variables associated to all events.
75
53
  */
76
- variables?: LinkedVariables;
54
+ readonly variables?: LinkedVariables;
77
55
  /**
78
56
  * Service client.
79
57
  */
80
- client: Client;
58
+ readonly client: Client;
81
59
  }
82
60
  }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Bucket CORS configuration.
3
+ */
4
+ export interface BucketCors {
5
+ /**
6
+ * List of allowed origins.
7
+ */
8
+ readonly allowOrigins: string[];
9
+ /**
10
+ * List of allowed methods.
11
+ */
12
+ readonly allowMethods?: string[];
13
+ /**
14
+ * List of allowed headers.
15
+ */
16
+ readonly allowHeaders?: string[];
17
+ /**
18
+ * List of exposed headers.
19
+ */
20
+ readonly exposeHeaders?: string[];
21
+ /**
22
+ * Determines how long the preflight result can be cached.
23
+ */
24
+ readonly maxAge?: number;
25
+ }
@@ -0,0 +1,35 @@
1
+ import type { LinkedVariables } from '@ez4/project/library';
2
+ import type { BucketEvent, BucketHandler, BucketListener } from './common';
3
+ /**
4
+ * Bucket events.
5
+ */
6
+ export interface BucketEvents {
7
+ /**
8
+ * Event listener.
9
+ */
10
+ readonly listener?: BucketListener<BucketEvent>;
11
+ /**
12
+ * Event handler.
13
+ */
14
+ readonly handler: BucketHandler<BucketEvent>;
15
+ /**
16
+ * Path associated to the event.
17
+ */
18
+ readonly path?: string;
19
+ /**
20
+ * Variables associated to the handler.
21
+ */
22
+ readonly variables?: LinkedVariables;
23
+ /**
24
+ * Log retention (in days) for the handler.
25
+ */
26
+ readonly logRetention?: number;
27
+ /**
28
+ * Max execution time (in seconds) for the handler.
29
+ */
30
+ readonly timeout?: number;
31
+ /**
32
+ * Amount of memory available for the handler.
33
+ */
34
+ readonly memory?: number;
35
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ez4/storage",
3
3
  "description": "EZ4: Components to build storage services",
4
- "version": "0.33.0",
4
+ "version": "0.35.0",
5
5
  "author": "Silas B.",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -46,9 +46,9 @@
46
46
  "live:publish": "npm run build && npm publish --access public"
47
47
  },
48
48
  "dependencies": {
49
- "@ez4/common": "^0.33.0",
50
- "@ez4/project": "^0.33.0",
51
- "@ez4/reflection": "^0.33.0",
52
- "@ez4/utils": "^0.33.0"
49
+ "@ez4/common": "^0.35.0",
50
+ "@ez4/project": "^0.35.0",
51
+ "@ez4/reflection": "^0.35.0",
52
+ "@ez4/utils": "^0.35.0"
53
53
  }
54
54
  }