@thisisagile/easy 12.7.3 → 12.7.9
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/CacheAge.d.ts +5 -0
- package/dist/http/CacheAge.js +22 -0
- package/dist/http/CacheAge.js.map +1 -0
- package/dist/http/CacheControl.d.ts +4 -3
- package/dist/http/CacheControl.js +5 -4
- package/dist/http/CacheControl.js.map +1 -1
- package/dist/http/index.d.ts +1 -0
- package/dist/http/index.js +1 -0
- package/dist/http/index.js.map +1 -1
- package/package.json +2 -2
- package/src/http/CacheAge.ts +55 -0
- package/src/http/CacheControl.ts +6 -5
- package/src/http/index.ts +1 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cacheAge = void 0;
|
|
4
|
+
const types_1 = require("../types");
|
|
5
|
+
const ageNumber = (s) => (0, types_1.asNumber)(s.replace(/[a-z]/g, ''));
|
|
6
|
+
exports.cacheAge = {
|
|
7
|
+
toMilliseconds: (ca) => (0, types_1.choose)((0, types_1.asString)(ca))
|
|
8
|
+
.case(c => c.endsWith('ms'), c => ageNumber(c))
|
|
9
|
+
.case(c => c.endsWith('s'), c => ageNumber(c) * 1000)
|
|
10
|
+
.case(c => c.endsWith('m'), c => ageNumber(c) * 60 * 1000)
|
|
11
|
+
.case(c => c.endsWith('h'), c => ageNumber(c) * 3600 * 1000)
|
|
12
|
+
.case(c => c.endsWith('d'), c => ageNumber(c) * 24 * 3600 * 1000)
|
|
13
|
+
.else(ca),
|
|
14
|
+
toSeconds: (ca) => (0, types_1.choose)((0, types_1.asString)(ca))
|
|
15
|
+
.case(c => c.endsWith('ms'), c => ageNumber(c) / 1000)
|
|
16
|
+
.case(c => c.endsWith('s'), c => ageNumber(c))
|
|
17
|
+
.case(c => c.endsWith('m'), c => ageNumber(c) * 60)
|
|
18
|
+
.case(c => c.endsWith('h'), c => ageNumber(c) * 3600)
|
|
19
|
+
.case(c => c.endsWith('d'), c => ageNumber(c) * 24 * 3600)
|
|
20
|
+
.else(ca)
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=CacheAge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CacheAge } from "./CacheAge";
|
|
1
2
|
export declare class CacheControl {
|
|
2
3
|
readonly enabled: boolean;
|
|
3
4
|
protected constructor(enabled?: boolean);
|
|
@@ -15,9 +16,9 @@ export declare class CacheControl {
|
|
|
15
16
|
static tenSeconds: () => CacheControl;
|
|
16
17
|
static thirtySeconds: () => CacheControl;
|
|
17
18
|
static sixtySeconds: () => CacheControl;
|
|
18
|
-
static custom: (maxAge?:
|
|
19
|
-
readonly maxAge: (
|
|
20
|
-
readonly sharedMaxAge: (
|
|
19
|
+
static custom: (maxAge?: CacheAge, staleWhileRevalidate?: number) => CacheControl;
|
|
20
|
+
readonly maxAge: (ca?: CacheAge) => this;
|
|
21
|
+
readonly sharedMaxAge: (ca?: CacheAge) => this;
|
|
21
22
|
readonly noCache: (a?: boolean) => this;
|
|
22
23
|
readonly mustRevalidate: (a?: boolean) => this;
|
|
23
24
|
readonly private: (a?: boolean) => this;
|
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CacheControl = void 0;
|
|
4
4
|
const types_1 = require("../types");
|
|
5
|
+
const CacheAge_1 = require("./CacheAge");
|
|
5
6
|
class CacheControl {
|
|
6
7
|
constructor(enabled = true) {
|
|
7
8
|
this.enabled = enabled;
|
|
8
|
-
this.maxAge = (
|
|
9
|
-
this._maxAge =
|
|
9
|
+
this.maxAge = (ca) => {
|
|
10
|
+
this._maxAge = ca ? CacheAge_1.cacheAge.toSeconds(ca) : ca;
|
|
10
11
|
return this;
|
|
11
12
|
};
|
|
12
|
-
this.sharedMaxAge = (
|
|
13
|
-
this._sharedMaxAge =
|
|
13
|
+
this.sharedMaxAge = (ca) => {
|
|
14
|
+
this._sharedMaxAge = ca ? CacheAge_1.cacheAge.toSeconds(ca) : ca;
|
|
14
15
|
return this;
|
|
15
16
|
};
|
|
16
17
|
this.noCache = (a) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheControl.js","sourceRoot":"","sources":["../../src/http/CacheControl.ts"],"names":[],"mappings":";;;AAAA,oCAAqC;
|
|
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,6 +14,7 @@ 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);
|
|
17
18
|
__exportStar(require("./CacheControl"), exports);
|
|
18
19
|
__exportStar(require("./ContentType"), exports);
|
|
19
20
|
__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,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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "12.7.
|
|
3
|
+
"version": "12.7.9",
|
|
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.9",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^8.5.9",
|
|
37
37
|
"@types/luxon": "3.0.2",
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import {asNumber, asString, choose} from "../types";
|
|
2
|
+
|
|
3
|
+
export type CacheAge = `${number}${'ms' | 's' | 'm' | 'h' | 'd'}` | number;
|
|
4
|
+
|
|
5
|
+
const ageNumber = (s: string): number => asNumber(s.replace(/[a-z]/g, ''));
|
|
6
|
+
|
|
7
|
+
export const cacheAge = {
|
|
8
|
+
toMilliseconds: (ca: CacheAge): number =>
|
|
9
|
+
choose(asString(ca))
|
|
10
|
+
.case(
|
|
11
|
+
c => c.endsWith('ms'),
|
|
12
|
+
c => ageNumber(c)
|
|
13
|
+
)
|
|
14
|
+
.case(
|
|
15
|
+
c => c.endsWith('s'),
|
|
16
|
+
c => ageNumber(c) * 1000
|
|
17
|
+
)
|
|
18
|
+
.case(
|
|
19
|
+
c => c.endsWith('m'),
|
|
20
|
+
c => ageNumber(c) * 60 * 1000
|
|
21
|
+
)
|
|
22
|
+
.case(
|
|
23
|
+
c => c.endsWith('h'),
|
|
24
|
+
c => ageNumber(c) * 3600 * 1000
|
|
25
|
+
)
|
|
26
|
+
.case(
|
|
27
|
+
c => c.endsWith('d'),
|
|
28
|
+
c => ageNumber(c) * 24 * 3600 * 1000
|
|
29
|
+
)
|
|
30
|
+
.else(ca as number),
|
|
31
|
+
|
|
32
|
+
toSeconds: (ca: CacheAge): number =>
|
|
33
|
+
choose(asString(ca))
|
|
34
|
+
.case(
|
|
35
|
+
c => c.endsWith('ms'),
|
|
36
|
+
c => ageNumber(c) / 1000
|
|
37
|
+
)
|
|
38
|
+
.case(
|
|
39
|
+
c => c.endsWith('s'),
|
|
40
|
+
c => ageNumber(c)
|
|
41
|
+
)
|
|
42
|
+
.case(
|
|
43
|
+
c => c.endsWith('m'),
|
|
44
|
+
c => ageNumber(c) * 60
|
|
45
|
+
)
|
|
46
|
+
.case(
|
|
47
|
+
c => c.endsWith('h'),
|
|
48
|
+
c => ageNumber(c) * 3600
|
|
49
|
+
)
|
|
50
|
+
.case(
|
|
51
|
+
c => c.endsWith('d'),
|
|
52
|
+
c => ageNumber(c) * 24 * 3600
|
|
53
|
+
)
|
|
54
|
+
.else(ca as number)
|
|
55
|
+
}
|
package/src/http/CacheControl.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isDefined } from '../types';
|
|
2
|
+
import {cacheAge, CacheAge} from "./CacheAge";
|
|
2
3
|
|
|
3
4
|
export class CacheControl {
|
|
4
5
|
protected constructor(readonly enabled = true) {}
|
|
@@ -18,15 +19,15 @@ export class CacheControl {
|
|
|
18
19
|
static tenSeconds = () => new CacheControl().maxAge(10).staleWhileRevalidate(10);
|
|
19
20
|
static thirtySeconds = () => new CacheControl().maxAge(30).staleWhileRevalidate(30);
|
|
20
21
|
static sixtySeconds = () => new CacheControl().maxAge(60).staleWhileRevalidate(60);
|
|
21
|
-
static custom = (maxAge?:
|
|
22
|
+
static custom = (maxAge?: CacheAge, staleWhileRevalidate?: number) => new CacheControl().maxAge(maxAge).staleWhileRevalidate(staleWhileRevalidate);
|
|
22
23
|
|
|
23
|
-
readonly maxAge = (
|
|
24
|
-
this._maxAge =
|
|
24
|
+
readonly maxAge = (ca?: CacheAge): this => {
|
|
25
|
+
this._maxAge = ca ? cacheAge.toSeconds(ca) : ca;
|
|
25
26
|
return this;
|
|
26
27
|
};
|
|
27
28
|
|
|
28
|
-
readonly sharedMaxAge = (
|
|
29
|
-
this._sharedMaxAge =
|
|
29
|
+
readonly sharedMaxAge = (ca?: CacheAge): this => {
|
|
30
|
+
this._sharedMaxAge = ca ? cacheAge.toSeconds(ca) : ca;
|
|
30
31
|
return this;
|
|
31
32
|
};
|
|
32
33
|
|
package/src/http/index.ts
CHANGED