@typetron/framework 0.5.33 → 0.5.34
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/Storage/Readme.md +15 -0
- package/build/Container/ClassResolver.d.ts +5 -0
- package/build/Container/ClassResolver.d.ts.map +1 -1
- package/build/Container/ClassResolver.js +20 -0
- package/build/Container/ClassResolver.js.map +1 -1
- package/build/Container/Metadata.d.ts +6 -0
- package/build/Container/Metadata.d.ts.map +1 -1
- package/build/Container/Metadata.js +1 -0
- package/build/Container/Metadata.js.map +1 -1
- package/build/Storage/Decorators.d.ts +6 -0
- package/build/Storage/Decorators.d.ts.map +1 -0
- package/build/Storage/Decorators.js +17 -0
- package/build/Storage/Decorators.js.map +1 -0
- package/build/Storage/index.d.ts +1 -0
- package/build/Storage/index.d.ts.map +1 -1
- package/build/Storage/index.js +1 -0
- package/build/Storage/index.js.map +1 -1
- package/package.json +1 -1
package/Storage/Readme.md
CHANGED
|
@@ -158,6 +158,21 @@ await avatars.assertExists('users/1.jpg')
|
|
|
158
158
|
await avatars.assertCount('users', 1, true)
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
+
Services can inject a disk with `@Disk(name)`, or `@Disk()` for the default disk. The disk is resolved on every
|
|
162
|
+
access, so faking a disk also affects services that were already built:
|
|
163
|
+
|
|
164
|
+
```ts
|
|
165
|
+
class AvatarService {
|
|
166
|
+
@Disk('avatars')
|
|
167
|
+
avatars: StorageDisk
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const avatars = storage.fake('avatars')
|
|
171
|
+
await app.get(AvatarService).uploadAvatar(upload)
|
|
172
|
+
await avatars.assertExists('users/1.jpg')
|
|
173
|
+
storage.forget('avatars') // back to the configured disk
|
|
174
|
+
```
|
|
175
|
+
|
|
161
176
|
## Custom Drivers
|
|
162
177
|
|
|
163
178
|
Register a driver factory with `extend`. The factory receives its disk configuration, name, and Storage manager and returns a
|
|
@@ -4,6 +4,11 @@ import { Container } from './Container';
|
|
|
4
4
|
export declare class ClassResolver extends BaseResolver {
|
|
5
5
|
canResolve<T>(abstract: Constructor<T>): boolean;
|
|
6
6
|
resolve<T>(abstract: Constructor<T>, parametersValues: object[]): T | Promise<T>;
|
|
7
|
+
/**
|
|
8
|
+
* Accessor properties resolve on every read so later container changes (e.g. faked disks) are seen.
|
|
9
|
+
* Defined on the instance so class field declarations can't shadow them. Assigning a value pins it.
|
|
10
|
+
*/
|
|
11
|
+
private defineAccessors;
|
|
7
12
|
reload<T>(abstract: Constructor<T>, concrete: T, container?: Container): T;
|
|
8
13
|
}
|
|
9
14
|
//# sourceMappingURL=ClassResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassResolver.d.ts","sourceRoot":"","sources":["../../Container/ClassResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,qBAAa,aAAc,SAAQ,YAAY;IAC3C,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO;IAIhD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"ClassResolver.d.ts","sourceRoot":"","sources":["../../Container/ClassResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,qBAAa,aAAc,SAAQ,YAAY;IAC3C,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO;IAIhD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE;IAwD/D;;;OAGG;IACH,OAAO,CAAC,eAAe;IA0BvB,MAAM,CAAC,CAAC,EACJ,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,EACX,SAAS,GAAE,SAA0B,GACtC,CAAC;CAyBP"}
|
|
@@ -23,6 +23,7 @@ class ClassResolver extends Resolver_1.BaseResolver {
|
|
|
23
23
|
});
|
|
24
24
|
const instance = new abstract(...parameters);
|
|
25
25
|
const metadata = Metadata_1.InjectableMetadata.get(abstract);
|
|
26
|
+
this.defineAccessors(instance, metadata);
|
|
26
27
|
let asyncDependencies = 0;
|
|
27
28
|
let resolve;
|
|
28
29
|
let reject;
|
|
@@ -58,6 +59,25 @@ class ClassResolver extends Resolver_1.BaseResolver {
|
|
|
58
59
|
}
|
|
59
60
|
return instance;
|
|
60
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Accessor properties resolve on every read so later container changes (e.g. faked disks) are seen.
|
|
64
|
+
* Defined on the instance so class field declarations can't shadow them. Assigning a value pins it.
|
|
65
|
+
*/
|
|
66
|
+
defineAccessors(instance, metadata) {
|
|
67
|
+
const container = this.container;
|
|
68
|
+
for (const property in metadata.accessors) {
|
|
69
|
+
const accessor = metadata.accessors[property];
|
|
70
|
+
let pinned;
|
|
71
|
+
Object.defineProperty(instance, property, {
|
|
72
|
+
configurable: true,
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: () => pinned ?? accessor(container),
|
|
75
|
+
set: (value) => {
|
|
76
|
+
pinned = value;
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
61
81
|
// TODO figure out how to use this better
|
|
62
82
|
// private getParameterValue<T>(abstract: Constructor<T>, index: number) {
|
|
63
83
|
// const injectMetadata = Reflect.getMetadata('container:inject', abstract);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassResolver.js","sourceRoot":"","sources":["../../Container/ClassResolver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ClassResolver.js","sourceRoot":"","sources":["../../Container/ClassResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Resolver } from './Resolver';
|
|
2
2
|
import { ServiceIdentifier } from './Contracts';
|
|
3
|
+
import type { Container } from './Container';
|
|
4
|
+
/** Resolves a property's value each time it is read */
|
|
5
|
+
export type PropertyAccessor = (container: Container) => unknown;
|
|
3
6
|
export declare enum Scope {
|
|
4
7
|
TRANSIENT = "TRANSIENT",
|
|
5
8
|
SINGLETON = "SINGLETON",
|
|
@@ -17,6 +20,9 @@ export declare class InjectableMetadata extends InjectableMetadata_base {
|
|
|
17
20
|
dependencies: {
|
|
18
21
|
[key: string]: ServiceIdentifier<{}>;
|
|
19
22
|
};
|
|
23
|
+
accessors: {
|
|
24
|
+
[key: string]: PropertyAccessor;
|
|
25
|
+
};
|
|
20
26
|
}
|
|
21
27
|
export {};
|
|
22
28
|
//# sourceMappingURL=Metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metadata.d.ts","sourceRoot":"","sources":["../../Container/Metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"Metadata.d.ts","sourceRoot":"","sources":["../../Container/Metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,uDAAuD;AACvD,MAAM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAA;AAEhE,oBAAY,KAAK;IACb,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,UAAU,eAAe;CAC5B;;;;;;AAED,qBAAa,kBAAmB,SAAQ,uBAAyB;IAC7D,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEnB,KAAK,EAAE,KAAK,CAAkB;IAC9B,YAAY,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAA;KAAC,CAAK;IACzD,SAAS,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAC,CAAK;CACpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../Container/Metadata.ts"],"names":[],"mappings":";;;AAEA,kDAAiD;
|
|
1
|
+
{"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../Container/Metadata.ts"],"names":[],"mappings":";;;AAEA,kDAAiD;AAMjD,IAAY,KAKX;AALD,WAAY,KAAK;IACb,gCAAuB,CAAA;IACvB,gCAAuB,CAAA;IACvB,4BAAmB,CAAA;IACnB,kCAAyB,CAAA;AAC7B,CAAC,EALW,KAAK,qBAAL,KAAK,QAKhB;AAED,MAAa,kBAAmB,SAAQ,IAAA,sBAAW,EAAC,YAAY,CAAC;IAC7D,QAAQ,CAAW;IAEnB,KAAK,GAAU,KAAK,CAAC,SAAS,CAAA;IAC9B,YAAY,GAA2C,EAAE,CAAA;IACzD,SAAS,GAAsC,EAAE,CAAA;CACpD;AAND,gDAMC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Injects a storage disk, resolved on every access so `storage.fake(name)` affects already built services.
|
|
3
|
+
* Omit the name to use the default disk.
|
|
4
|
+
*/
|
|
5
|
+
export declare function Disk(name?: string): (target: object, property: string) => void;
|
|
6
|
+
//# sourceMappingURL=Decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Decorators.d.ts","sourceRoot":"","sources":["../../Storage/Decorators.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,IACd,QAAQ,MAAM,EAAE,UAAU,MAAM,UAKnD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Disk = Disk;
|
|
4
|
+
const Container_1 = require("../Container");
|
|
5
|
+
const Storage_1 = require("./Storage");
|
|
6
|
+
/**
|
|
7
|
+
* Injects a storage disk, resolved on every access so `storage.fake(name)` affects already built services.
|
|
8
|
+
* Omit the name to use the default disk.
|
|
9
|
+
*/
|
|
10
|
+
function Disk(name) {
|
|
11
|
+
return function (target, property) {
|
|
12
|
+
const metadata = Container_1.InjectableMetadata.get(target.constructor);
|
|
13
|
+
metadata.accessors[property] = container => container.get(Storage_1.Storage).disk(name);
|
|
14
|
+
Container_1.InjectableMetadata.set(metadata, target.constructor);
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=Decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Decorators.js","sourceRoot":"","sources":["../../Storage/Decorators.ts"],"names":[],"mappings":";;AAOA,oBAMC;AAbD,4CAAiD;AACjD,uCAAmC;AAEnC;;;GAGG;AACH,SAAgB,IAAI,CAAC,IAAa;IAC9B,OAAO,UAAS,MAAc,EAAE,QAAgB;QAC5C,MAAM,QAAQ,GAAG,8BAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC3D,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7E,8BAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;IACxD,CAAC,CAAA;AACL,CAAC"}
|
package/build/Storage/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
|
package/build/Storage/index.js
CHANGED
|
@@ -30,4 +30,5 @@ __exportStar(require("./Drivers/ScopedDriver"), exports);
|
|
|
30
30
|
__exportStar(require("./Drivers/ReadOnlyDriver"), exports);
|
|
31
31
|
__exportStar(require("./Image"), exports);
|
|
32
32
|
__exportStar(require("./utils"), exports);
|
|
33
|
+
__exportStar(require("./Decorators"), exports);
|
|
33
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../Storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,iDAA8B;AAC9B,4CAAyB;AACzB,gDAA6B;AAC7B,kDAA+B;AAC/B,+CAA4B;AAC5B,iDAA8B;AAC9B,0CAAuB;AACvB,2CAAwB;AACxB,wDAAqC;AACrC,yDAAsC;AACtC,qDAAkC;AAClC,yDAAsC;AACtC,2DAAwC;AACxC,0CAAuB;AACvB,0CAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../Storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,iDAA8B;AAC9B,4CAAyB;AACzB,gDAA6B;AAC7B,kDAA+B;AAC/B,+CAA4B;AAC5B,iDAA8B;AAC9B,0CAAuB;AACvB,2CAAwB;AACxB,wDAAqC;AACrC,yDAAsC;AACtC,qDAAkC;AAClC,yDAAsC;AACtC,2DAAwC;AACxC,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B"}
|