@thisisagile/easy 12.7.9 → 12.7.14
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/http/CacheControl.d.ts +7 -13
- package/dist/http/CacheControl.js +15 -46
- package/dist/http/CacheControl.js.map +1 -1
- package/dist/http/index.d.ts +0 -1
- package/dist/http/index.js +0 -1
- package/dist/http/index.js.map +1 -1
- package/dist/{http → types}/CacheAge.d.ts +0 -0
- package/dist/{http → types}/CacheAge.js +4 -4
- package/dist/types/CacheAge.js.map +1 -0
- package/dist/types/Constructor.d.ts +1 -0
- package/dist/types/Constructor.js +6 -1
- package/dist/types/Constructor.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +2 -2
- package/src/http/CacheControl.ts +42 -75
- package/src/http/index.ts +0 -1
- package/src/{http → types}/CacheAge.ts +1 -1
- package/src/types/Constructor.ts +5 -0
- package/src/types/index.ts +1 -0
- package/dist/http/CacheAge.js.map +0 -1
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
import { CacheAge } from
|
|
1
|
+
import { CacheAge } from '../types';
|
|
2
2
|
export declare class CacheControl {
|
|
3
3
|
readonly enabled: boolean;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
protected
|
|
7
|
-
protected _noCache?: boolean;
|
|
8
|
-
protected _mustRevalidate?: boolean;
|
|
9
|
-
protected _private?: boolean;
|
|
10
|
-
protected _public?: boolean;
|
|
11
|
-
protected _immutable?: boolean;
|
|
12
|
-
protected _staleWhileRevalidate?: number;
|
|
4
|
+
private directives;
|
|
5
|
+
name: string;
|
|
6
|
+
protected constructor(enabled?: boolean, directives?: Record<string, boolean | CacheAge | undefined>);
|
|
13
7
|
static disabled: () => CacheControl;
|
|
14
8
|
static OneSecond: () => CacheControl;
|
|
15
9
|
static fiveSeconds: () => CacheControl;
|
|
16
10
|
static tenSeconds: () => CacheControl;
|
|
17
11
|
static thirtySeconds: () => CacheControl;
|
|
18
12
|
static sixtySeconds: () => CacheControl;
|
|
19
|
-
static custom: (maxAge?: CacheAge, staleWhileRevalidate?:
|
|
13
|
+
static custom: (maxAge?: CacheAge, staleWhileRevalidate?: CacheAge) => CacheControl;
|
|
20
14
|
readonly maxAge: (ca?: CacheAge) => this;
|
|
21
15
|
readonly sharedMaxAge: (ca?: CacheAge) => this;
|
|
22
16
|
readonly noCache: (a?: boolean) => this;
|
|
@@ -24,7 +18,7 @@ export declare class CacheControl {
|
|
|
24
18
|
readonly private: (a?: boolean) => this;
|
|
25
19
|
readonly public: (a?: boolean) => this;
|
|
26
20
|
readonly immutable: (a?: boolean) => this;
|
|
27
|
-
readonly staleWhileRevalidate: (
|
|
21
|
+
readonly staleWhileRevalidate: (ca?: CacheAge) => this;
|
|
28
22
|
value: () => string;
|
|
29
|
-
|
|
23
|
+
toString(): string;
|
|
30
24
|
}
|
|
@@ -2,55 +2,24 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CacheControl = void 0;
|
|
4
4
|
const types_1 = require("../types");
|
|
5
|
-
const
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
6
|
class CacheControl {
|
|
7
|
-
constructor(enabled = true) {
|
|
7
|
+
constructor(enabled = true, directives = {}) {
|
|
8
8
|
this.enabled = enabled;
|
|
9
|
-
this.
|
|
10
|
-
this._maxAge = ca ? CacheAge_1.cacheAge.toSeconds(ca) : ca;
|
|
11
|
-
return this;
|
|
12
|
-
};
|
|
13
|
-
this.sharedMaxAge = (ca) => {
|
|
14
|
-
this._sharedMaxAge = ca ? CacheAge_1.cacheAge.toSeconds(ca) : ca;
|
|
15
|
-
return this;
|
|
16
|
-
};
|
|
17
|
-
this.noCache = (a) => {
|
|
18
|
-
this._noCache = a;
|
|
19
|
-
return this;
|
|
20
|
-
};
|
|
21
|
-
this.mustRevalidate = (a) => {
|
|
22
|
-
this._mustRevalidate = a;
|
|
23
|
-
return this;
|
|
24
|
-
};
|
|
25
|
-
this.private = (a) => {
|
|
26
|
-
this._private = a;
|
|
27
|
-
return this;
|
|
28
|
-
};
|
|
29
|
-
this.public = (a) => {
|
|
30
|
-
this._public = a;
|
|
31
|
-
return this;
|
|
32
|
-
};
|
|
33
|
-
this.immutable = (a) => {
|
|
34
|
-
this._immutable = a;
|
|
35
|
-
return this;
|
|
36
|
-
};
|
|
37
|
-
this.staleWhileRevalidate = (a) => {
|
|
38
|
-
this._staleWhileRevalidate = a;
|
|
39
|
-
return this;
|
|
40
|
-
};
|
|
41
|
-
this.value = () => {
|
|
42
|
-
const directives = [];
|
|
43
|
-
(0, types_1.isDefined)(this._maxAge) && directives.push(`max-age=${this._maxAge}`);
|
|
44
|
-
(0, types_1.isDefined)(this._sharedMaxAge) && directives.push(`s-maxage=${this._sharedMaxAge}`);
|
|
45
|
-
this._noCache === true && directives.push(`no-cache`);
|
|
46
|
-
this._mustRevalidate === true && directives.push(`must-revalidate`);
|
|
47
|
-
this._private === true && directives.push(`private`);
|
|
48
|
-
this._public === true && directives.push(`public`);
|
|
49
|
-
this._immutable === true && directives.push(`immutable`);
|
|
50
|
-
(0, types_1.isDefined)(this._staleWhileRevalidate) && directives.push(`stale-while-revalidate=${this._staleWhileRevalidate}`);
|
|
51
|
-
return directives.join(',');
|
|
52
|
-
};
|
|
9
|
+
this.directives = directives;
|
|
53
10
|
this.name = 'Cache-Control';
|
|
11
|
+
this.maxAge = (ca) => (0, types_1.on)(this, t => t.directives['max-age'] = ca);
|
|
12
|
+
this.sharedMaxAge = (ca) => (0, types_1.on)(this, t => t.directives['s-maxage'] = ca);
|
|
13
|
+
this.noCache = (a) => (0, types_1.on)(this, t => t.directives['no-cache'] = a);
|
|
14
|
+
this.mustRevalidate = (a) => (0, types_1.on)(this, t => t.directives['must-revalidate'] = a);
|
|
15
|
+
this.private = (a) => (0, types_1.on)(this, t => t.directives['private'] = a);
|
|
16
|
+
this.public = (a) => (0, types_1.on)(this, t => t.directives['public'] = a);
|
|
17
|
+
this.immutable = (a) => (0, types_1.on)(this, t => t.directives['immutable'] = a);
|
|
18
|
+
this.staleWhileRevalidate = (ca) => (0, types_1.on)(this, t => t.directives['stale-while-revalidate'] = ca);
|
|
19
|
+
this.value = () => this.toString();
|
|
20
|
+
}
|
|
21
|
+
toString() {
|
|
22
|
+
return (0, types_1.meta)(this.directives).entries().mapDefined(([k, v]) => (0, utils_1.ifDefined)(v, (0, types_1.isNumber)(v) ? `${k}=${types_1.cacheAge.toSeconds(v)}` : k)).join(',');
|
|
54
23
|
}
|
|
55
24
|
}
|
|
56
25
|
exports.CacheControl = CacheControl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheControl.js","sourceRoot":"","sources":["../../src/http/CacheControl.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"CacheControl.js","sourceRoot":"","sources":["../../src/http/CacheControl.ts"],"names":[],"mappings":"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"}
|
package/dist/http/index.d.ts
CHANGED
package/dist/http/index.js
CHANGED
|
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./CacheAge"), exports);
|
|
18
17
|
__exportStar(require("./CacheControl"), exports);
|
|
19
18
|
__exportStar(require("./ContentType"), exports);
|
|
20
19
|
__exportStar(require("./HttpHeader"), exports);
|
package/dist/http/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,gDAA8B;AAC9B,+CAA6B;AAC7B,+CAA6B;AAC7B,6CAA2B;AAC3B,oDAAkC;AAClC,4CAA0B;AAC1B,mDAAiC;AACjC,oDAAkC;AAClC,6CAA2B;AAC3B,+CAA6B;AAC7B,yCAAuB"}
|
|
File without changes
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.cacheAge = void 0;
|
|
4
|
-
const
|
|
5
|
-
const ageNumber = (s) => (0,
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
const ageNumber = (s) => (0, index_1.asNumber)(s.replace(/[a-z]/g, ''));
|
|
6
6
|
exports.cacheAge = {
|
|
7
|
-
toMilliseconds: (ca) => (0,
|
|
7
|
+
toMilliseconds: (ca) => (0, index_1.choose)((0, index_1.asString)(ca))
|
|
8
8
|
.case(c => c.endsWith('ms'), c => ageNumber(c))
|
|
9
9
|
.case(c => c.endsWith('s'), c => ageNumber(c) * 1000)
|
|
10
10
|
.case(c => c.endsWith('m'), c => ageNumber(c) * 60 * 1000)
|
|
11
11
|
.case(c => c.endsWith('h'), c => ageNumber(c) * 3600 * 1000)
|
|
12
12
|
.case(c => c.endsWith('d'), c => ageNumber(c) * 24 * 3600 * 1000)
|
|
13
13
|
.else(ca),
|
|
14
|
-
toSeconds: (ca) => (0,
|
|
14
|
+
toSeconds: (ca) => (0, index_1.choose)((0, index_1.asString)(ca))
|
|
15
15
|
.case(c => c.endsWith('ms'), c => ageNumber(c) / 1000)
|
|
16
16
|
.case(c => c.endsWith('s'), c => ageNumber(c))
|
|
17
17
|
.case(c => c.endsWith('m'), c => ageNumber(c) * 60)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheAge.js","sourceRoot":"","sources":["../../src/types/CacheAge.ts"],"names":[],"mappings":";;;AAAA,mCAAmD;AAInD,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAE9D,QAAA,QAAQ,GAAG;IACpB,cAAc,EAAE,CAAC,EAAY,EAAU,EAAE,CACrC,IAAA,cAAM,EAAC,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;SACf,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EACrB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CACpB;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAC3B;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAChC;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAClC;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CACvC;SACA,IAAI,CAAC,EAAY,CAAC;IAE3B,SAAS,EAAE,CAAC,EAAY,EAAU,EAAE,CAChC,IAAA,cAAM,EAAC,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;SACf,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EACrB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAC3B;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CACpB;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CACzB;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAC3B;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAChC;SACA,IAAI,CAAC,EAAY,CAAC;CAC9B,CAAA"}
|
|
@@ -6,3 +6,4 @@ export declare type Construct<T> = Get<T> | Constructor<T>;
|
|
|
6
6
|
export declare const isConstructor: <T>(c?: unknown) => c is Constructor<T>;
|
|
7
7
|
export declare const ofConstruct: <T>(c: Construct<T>, ...args: unknown[]) => T;
|
|
8
8
|
export declare const toName: (subject?: unknown, postfix?: string) => string;
|
|
9
|
+
export declare const on: <T>(t: T, f: (t: T) => unknown) => T;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toName = exports.ofConstruct = exports.isConstructor = void 0;
|
|
3
|
+
exports.on = exports.toName = exports.ofConstruct = exports.isConstructor = void 0;
|
|
4
4
|
const Func_1 = require("./Func");
|
|
5
5
|
const Is_1 = require("./Is");
|
|
6
6
|
const isConstructor = (c) => ((0, Is_1.isDefined)(c) && (0, Func_1.isFunc)(c) && c.prototype && c.prototype.constructor) === c;
|
|
@@ -9,4 +9,9 @@ const ofConstruct = (c, ...args) => ((0, exports.isConstructor)(c) ? new c(...ar
|
|
|
9
9
|
exports.ofConstruct = ofConstruct;
|
|
10
10
|
const toName = (subject, postfix = '') => subject?.constructor?.name?.replace(postfix, '').toLowerCase() ?? '';
|
|
11
11
|
exports.toName = toName;
|
|
12
|
+
const on = (t, f) => {
|
|
13
|
+
f(t);
|
|
14
|
+
return t;
|
|
15
|
+
};
|
|
16
|
+
exports.on = on;
|
|
12
17
|
//# sourceMappingURL=Constructor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constructor.js","sourceRoot":"","sources":["../../src/types/Constructor.ts"],"names":[],"mappings":";;;AACA,iCAAgC;AAChC,6BAAiC;AAM1B,MAAM,aAAa,GAAG,CAAI,CAAW,EAAuB,EAAE,CAAC,CAAC,IAAA,cAAS,EAAC,CAAC,CAAC,IAAI,IAAA,aAAM,EAAa,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAAjJ,QAAA,aAAa,iBAAoI;AAEvJ,MAAM,WAAW,GAAG,CAAI,CAAe,EAAE,GAAG,IAAe,EAAK,EAAE,CAAC,CAAC,IAAA,qBAAa,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,aAAM,EAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAA7I,QAAA,WAAW,eAAkI;AAEnJ,MAAM,MAAM,GAAG,CAAC,OAAiB,EAAE,OAAO,GAAG,EAAE,EAAU,EAAE,CAAE,OAAe,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;AAApI,QAAA,MAAM,UAA8H"}
|
|
1
|
+
{"version":3,"file":"Constructor.js","sourceRoot":"","sources":["../../src/types/Constructor.ts"],"names":[],"mappings":";;;AACA,iCAAgC;AAChC,6BAAiC;AAM1B,MAAM,aAAa,GAAG,CAAI,CAAW,EAAuB,EAAE,CAAC,CAAC,IAAA,cAAS,EAAC,CAAC,CAAC,IAAI,IAAA,aAAM,EAAa,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAAjJ,QAAA,aAAa,iBAAoI;AAEvJ,MAAM,WAAW,GAAG,CAAI,CAAe,EAAE,GAAG,IAAe,EAAK,EAAE,CAAC,CAAC,IAAA,qBAAa,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,aAAM,EAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAA7I,QAAA,WAAW,eAAkI;AAEnJ,MAAM,MAAM,GAAG,CAAC,OAAiB,EAAE,OAAO,GAAG,EAAE,EAAU,EAAE,CAAE,OAAe,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;AAApI,QAAA,MAAM,UAA8H;AAE1I,MAAM,EAAE,GAAG,CAAI,CAAI,EAAE,CAAoB,EAAK,EAAE;IACnD,CAAC,CAAC,CAAC,CAAC,CAAC;IACL,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAHW,QAAA,EAAE,MAGb"}
|
package/dist/types/index.d.ts
CHANGED
package/dist/types/index.js
CHANGED
|
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./Array"), exports);
|
|
18
18
|
__exportStar(require("./Builder"), exports);
|
|
19
|
+
__exportStar(require("./CacheAge"), exports);
|
|
19
20
|
__exportStar(require("./Case"), exports);
|
|
20
21
|
__exportStar(require("./Constructor"), exports);
|
|
21
22
|
__exportStar(require("./Context"), exports);
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,yCAAuB;AACvB,gDAA8B;AAC9B,4CAA0B;AAC1B,yCAAuB;AACvB,gDAA8B;AAC9B,8CAA4B;AAC5B,yCAAuB;AACvB,4CAA0B;AAC1B,wCAAsB;AACtB,uCAAqB;AACrB,6CAA2B;AAC3B,uCAAqB;AACrB,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,wCAAsB;AACtB,6CAA2B;AAC3B,yCAAuB;AACvB,6CAA2B;AAC3B,wCAAsB;AACtB,0CAAwB;AACxB,wCAAsB;AACtB,yCAAuB;AACvB,gDAA8B;AAC9B,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,6CAA2B;AAC3B,yCAAuB;AACvB,gDAA8B;AAC9B,4CAA0B;AAC1B,yCAAuB;AACvB,gDAA8B;AAC9B,8CAA4B;AAC5B,yCAAuB;AACvB,4CAA0B;AAC1B,wCAAsB;AACtB,uCAAqB;AACrB,6CAA2B;AAC3B,uCAAqB;AACrB,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,wCAAsB;AACtB,6CAA2B;AAC3B,yCAAuB;AACvB,6CAA2B;AAC3B,wCAAsB;AACtB,0CAAwB;AACxB,wCAAsB;AACtB,yCAAuB;AACvB,gDAA8B;AAC9B,0CAAwB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "12.7.
|
|
3
|
+
"version": "12.7.14",
|
|
4
4
|
"description": "Straightforward library for building domain-driven microservice architectures",
|
|
5
5
|
"author": "Sander Hoogendoorn",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@thisisagile/easy-test": "12.7.
|
|
34
|
+
"@thisisagile/easy-test": "12.7.14",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^8.5.9",
|
|
37
37
|
"@types/luxon": "3.0.2",
|
package/src/http/CacheControl.ts
CHANGED
|
@@ -1,78 +1,45 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import {cacheAge, CacheAge, isNumber, meta, on} from '../types';
|
|
2
|
+
import {ifDefined} from "../utils";
|
|
3
3
|
|
|
4
4
|
export class CacheControl {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
this._private = a;
|
|
46
|
-
return this;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
readonly public = (a?: boolean): this => {
|
|
50
|
-
this._public = a;
|
|
51
|
-
return this;
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
readonly immutable = (a?: boolean): this => {
|
|
55
|
-
this._immutable = a;
|
|
56
|
-
return this;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
readonly staleWhileRevalidate = (a?: number): this => {
|
|
60
|
-
this._staleWhileRevalidate = a;
|
|
61
|
-
return this;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
value = (): string => {
|
|
65
|
-
const directives: string[] = [];
|
|
66
|
-
isDefined(this._maxAge) && directives.push(`max-age=${this._maxAge}`);
|
|
67
|
-
isDefined(this._sharedMaxAge) && directives.push(`s-maxage=${this._sharedMaxAge}`);
|
|
68
|
-
this._noCache === true && directives.push(`no-cache`);
|
|
69
|
-
this._mustRevalidate === true && directives.push(`must-revalidate`);
|
|
70
|
-
this._private === true && directives.push(`private`);
|
|
71
|
-
this._public === true && directives.push(`public`);
|
|
72
|
-
this._immutable === true && directives.push(`immutable`);
|
|
73
|
-
isDefined(this._staleWhileRevalidate) && directives.push(`stale-while-revalidate=${this._staleWhileRevalidate}`);
|
|
74
|
-
return directives.join(',');
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
name = 'Cache-Control';
|
|
5
|
+
name = 'Cache-Control';
|
|
6
|
+
|
|
7
|
+
protected constructor(readonly enabled = true, private directives: Record<string, boolean | CacheAge | undefined> = {}) {
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
static disabled = () => new CacheControl(false);
|
|
11
|
+
|
|
12
|
+
static OneSecond = () => new CacheControl().maxAge(1).staleWhileRevalidate(1);
|
|
13
|
+
|
|
14
|
+
static fiveSeconds = () => new CacheControl().maxAge(5).staleWhileRevalidate(5);
|
|
15
|
+
|
|
16
|
+
static tenSeconds = () => new CacheControl().maxAge(10).staleWhileRevalidate(10);
|
|
17
|
+
|
|
18
|
+
static thirtySeconds = () => new CacheControl().maxAge(30).staleWhileRevalidate(30);
|
|
19
|
+
|
|
20
|
+
static sixtySeconds = () => new CacheControl().maxAge(60).staleWhileRevalidate(60);
|
|
21
|
+
|
|
22
|
+
static custom = (maxAge?: CacheAge, staleWhileRevalidate?: CacheAge) => new CacheControl().maxAge(maxAge).staleWhileRevalidate(staleWhileRevalidate);
|
|
23
|
+
|
|
24
|
+
readonly maxAge = (ca?: CacheAge): this => on(this, t => t.directives['max-age'] = ca);
|
|
25
|
+
|
|
26
|
+
readonly sharedMaxAge = (ca?: CacheAge): this => on(this, t => t.directives['s-maxage'] = ca);
|
|
27
|
+
|
|
28
|
+
readonly noCache = (a?: boolean): this => on(this, t => t.directives['no-cache'] = a);
|
|
29
|
+
|
|
30
|
+
readonly mustRevalidate = (a?: boolean): this => on(this, t => t.directives['must-revalidate'] = a);
|
|
31
|
+
|
|
32
|
+
readonly private = (a?: boolean): this => on(this, t => t.directives['private'] = a);
|
|
33
|
+
|
|
34
|
+
readonly public = (a?: boolean): this => on(this, t => t.directives['public'] = a);
|
|
35
|
+
|
|
36
|
+
readonly immutable = (a?: boolean): this => on(this, t => t.directives['immutable'] = a);
|
|
37
|
+
|
|
38
|
+
readonly staleWhileRevalidate = (ca?: CacheAge): this => on(this, t => t.directives['stale-while-revalidate'] = ca);
|
|
39
|
+
|
|
40
|
+
value = (): string => this.toString();
|
|
41
|
+
|
|
42
|
+
toString(): string {
|
|
43
|
+
return meta(this.directives).entries().mapDefined(([k, v]) => ifDefined(v, isNumber(v) ? `${k}=${cacheAge.toSeconds(v)}` : k)).join(',');
|
|
44
|
+
}
|
|
78
45
|
}
|
package/src/http/index.ts
CHANGED
package/src/types/Constructor.ts
CHANGED
|
@@ -11,3 +11,8 @@ export const isConstructor = <T>(c?: unknown): c is Constructor<T> => (isDefined
|
|
|
11
11
|
export const ofConstruct = <T>(c: Construct<T>, ...args: unknown[]): T => (isConstructor<T>(c) ? new c(...args) : isFunc<T, unknown>(c) ? c(...args) : c);
|
|
12
12
|
|
|
13
13
|
export const toName = (subject?: unknown, postfix = ''): string => (subject as any)?.constructor?.name?.replace(postfix, '').toLowerCase() ?? '';
|
|
14
|
+
|
|
15
|
+
export const on = <T>(t: T, f: (t: T) => unknown): T => {
|
|
16
|
+
f(t);
|
|
17
|
+
return t;
|
|
18
|
+
};
|
package/src/types/index.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CacheAge.js","sourceRoot":"","sources":["../../src/http/CacheAge.ts"],"names":[],"mappings":";;;AAAA,oCAAoD;AAIpD,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAE9D,QAAA,QAAQ,GAAG;IACpB,cAAc,EAAE,CAAC,EAAY,EAAU,EAAE,CACrC,IAAA,cAAM,EAAC,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;SACf,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EACrB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CACpB;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAC3B;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAChC;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAClC;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CACvC;SACA,IAAI,CAAC,EAAY,CAAC;IAE3B,SAAS,EAAE,CAAC,EAAY,EAAU,EAAE,CAChC,IAAA,cAAM,EAAC,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;SACf,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EACrB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAC3B;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CACpB;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CACzB;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAC3B;SACA,IAAI,CACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAChC;SACA,IAAI,CAAC,EAAY,CAAC;CAC9B,CAAA"}
|