@bett3r-dev/pv3-types 1.0.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/build/authentication.d.ts +261 -0
- package/build/authentication.d.ts.map +1 -0
- package/build/authentication.js +108 -0
- package/build/authentication.js.map +1 -0
- package/build/cache.d.ts +101 -0
- package/build/cache.d.ts.map +1 -0
- package/build/cache.js +3 -0
- package/build/cache.js.map +1 -0
- package/build/clusterAdministration.d.ts +642 -0
- package/build/clusterAdministration.d.ts.map +1 -0
- package/build/clusterAdministration.js +177 -0
- package/build/clusterAdministration.js.map +1 -0
- package/build/configuration.d.ts +66 -0
- package/build/configuration.d.ts.map +1 -0
- package/build/configuration.js +3 -0
- package/build/configuration.js.map +1 -0
- package/build/database.d.ts +120 -0
- package/build/database.d.ts.map +1 -0
- package/build/database.js +41 -0
- package/build/database.js.map +1 -0
- package/build/endpoints.d.ts +183 -0
- package/build/endpoints.d.ts.map +1 -0
- package/build/endpoints.js +78 -0
- package/build/endpoints.js.map +1 -0
- package/build/evenstore.d.ts +26 -0
- package/build/evenstore.d.ts.map +1 -0
- package/build/evenstore.js +12 -0
- package/build/evenstore.js.map +1 -0
- package/build/eventsourcing/aggregateBuilder.d.ts +10 -0
- package/build/eventsourcing/aggregateBuilder.d.ts.map +1 -0
- package/build/eventsourcing/aggregateBuilder.js +3 -0
- package/build/eventsourcing/aggregateBuilder.js.map +1 -0
- package/build/eventsourcing/commandBuilder.d.ts +58 -0
- package/build/eventsourcing/commandBuilder.d.ts.map +1 -0
- package/build/eventsourcing/commandBuilder.js +6 -0
- package/build/eventsourcing/commandBuilder.js.map +1 -0
- package/build/eventsourcing/commandHandlers.d.ts +104 -0
- package/build/eventsourcing/commandHandlers.d.ts.map +1 -0
- package/build/eventsourcing/commandHandlers.js +28 -0
- package/build/eventsourcing/commandHandlers.js.map +1 -0
- package/build/eventsourcing/eventHandlers.d.ts +102 -0
- package/build/eventsourcing/eventHandlers.d.ts.map +1 -0
- package/build/eventsourcing/eventHandlers.js +33 -0
- package/build/eventsourcing/eventHandlers.js.map +1 -0
- package/build/eventsourcing/eventHandlersBuilder.d.ts +36 -0
- package/build/eventsourcing/eventHandlersBuilder.d.ts.map +1 -0
- package/build/eventsourcing/eventHandlersBuilder.js +13 -0
- package/build/eventsourcing/eventHandlersBuilder.js.map +1 -0
- package/build/eventsourcing/externalSystemBuilder.d.ts +14 -0
- package/build/eventsourcing/externalSystemBuilder.d.ts.map +1 -0
- package/build/eventsourcing/externalSystemBuilder.js +3 -0
- package/build/eventsourcing/externalSystemBuilder.js.map +1 -0
- package/build/eventsourcing/index.d.ts +386 -0
- package/build/eventsourcing/index.d.ts.map +1 -0
- package/build/eventsourcing/index.js +47 -0
- package/build/eventsourcing/index.js.map +1 -0
- package/build/eventsourcing/invariants.d.ts +19 -0
- package/build/eventsourcing/invariants.d.ts.map +1 -0
- package/build/eventsourcing/invariants.js +3 -0
- package/build/eventsourcing/invariants.js.map +1 -0
- package/build/eventsourcing/utils.d.ts +4 -0
- package/build/eventsourcing/utils.d.ts.map +1 -0
- package/build/eventsourcing/utils.js +3 -0
- package/build/eventsourcing/utils.js.map +1 -0
- package/build/index.d.ts +16 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +32 -0
- package/build/index.js.map +1 -0
- package/build/infrastructure.d.ts +40 -0
- package/build/infrastructure.d.ts.map +1 -0
- package/build/infrastructure.js +11 -0
- package/build/infrastructure.js.map +1 -0
- package/build/logger.d.ts +32 -0
- package/build/logger.d.ts.map +1 -0
- package/build/logger.js +29 -0
- package/build/logger.js.map +1 -0
- package/build/outboxManager.d.ts +38 -0
- package/build/outboxManager.d.ts.map +1 -0
- package/build/outboxManager.js +21 -0
- package/build/outboxManager.js.map +1 -0
- package/build/ports.d.ts +39 -0
- package/build/ports.d.ts.map +1 -0
- package/build/ports.js +3 -0
- package/build/ports.js.map +1 -0
- package/build/routesAuth.d.ts +58 -0
- package/build/routesAuth.d.ts.map +1 -0
- package/build/routesAuth.js +37 -0
- package/build/routesAuth.js.map +1 -0
- package/build/typedEventEmitter.d.ts +23 -0
- package/build/typedEventEmitter.d.ts.map +1 -0
- package/build/typedEventEmitter.js +55 -0
- package/build/typedEventEmitter.js.map +1 -0
- package/build/validation.d.ts +64 -0
- package/build/validation.d.ts.map +1 -0
- package/build/validation.js +57 -0
- package/build/validation.js.map +1 -0
- package/package.json +15 -0
- package/src/authentication.ts +273 -0
- package/src/cache.ts +109 -0
- package/src/clusterAdministration.ts +216 -0
- package/src/configuration.ts +71 -0
- package/src/database.ts +157 -0
- package/src/endpoints.ts +198 -0
- package/src/evenstore.ts +27 -0
- package/src/eventsourcing/aggregateBuilder.ts +11 -0
- package/src/eventsourcing/commandBuilder.ts +64 -0
- package/src/eventsourcing/commandHandlers.ts +137 -0
- package/src/eventsourcing/eventHandlers.ts +118 -0
- package/src/eventsourcing/eventHandlersBuilder.ts +42 -0
- package/src/eventsourcing/externalSystemBuilder.ts +20 -0
- package/src/eventsourcing/index.ts +111 -0
- package/src/eventsourcing/invariants.ts +27 -0
- package/src/eventsourcing/utils.ts +4 -0
- package/src/index.ts +15 -0
- package/src/infrastructure.ts +41 -0
- package/src/logger.ts +45 -0
- package/src/outboxManager.ts +36 -0
- package/src/ports.ts +42 -0
- package/src/routesAuth.ts +58 -0
- package/src/typedEventEmitter.ts +73 -0
- package/src/validation.ts +89 -0
- package/tsconfig.json +15 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { AdapterBase } from './ports';
|
|
2
|
+
export declare const LoggerConfigSchema: import("@bett3r-dev/jsonschema-definer").ObjectSchema<{
|
|
3
|
+
logLevel?: "info" | "silly" | "debug" | "log" | "warn" | "error" | undefined;
|
|
4
|
+
modulesWhitelist?: string[] | undefined;
|
|
5
|
+
modulesBlacklist?: string[] | undefined;
|
|
6
|
+
}, false>;
|
|
7
|
+
export type LoggerConfig = typeof LoggerConfigSchema.type;
|
|
8
|
+
export type LogLevels = 'silly' | 'debug' | 'log' | 'info' | 'warn' | 'error';
|
|
9
|
+
export declare const LogLevelMap: {
|
|
10
|
+
error: number;
|
|
11
|
+
warn: number;
|
|
12
|
+
info: number;
|
|
13
|
+
log: number;
|
|
14
|
+
debug: number;
|
|
15
|
+
silly: number;
|
|
16
|
+
};
|
|
17
|
+
export declare const LevelLogMap: Record<number, LogLevels>;
|
|
18
|
+
export type LoggerAdapter = AdapterBase & {
|
|
19
|
+
log: (originalArgs: any[], level: LogLevels, module: string) => void;
|
|
20
|
+
};
|
|
21
|
+
export type LoggerPort = {
|
|
22
|
+
createLoggerInstance: (module: string) => LoggerType;
|
|
23
|
+
};
|
|
24
|
+
export type LoggerType = {
|
|
25
|
+
silly: (...args: any[]) => void;
|
|
26
|
+
debug: (...args: any[]) => void;
|
|
27
|
+
log: (...args: any[]) => void;
|
|
28
|
+
info: (...args: any[]) => void;
|
|
29
|
+
warn: (...args: any[]) => void;
|
|
30
|
+
error: (...args: any[]) => void;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,kBAAkB;;;;SAIlB,CAAC;AACd,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC;AAE1D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAE,OAAO,GAAE,KAAK,GAAE,MAAM,GAAE,MAAM,GAAE,OAAO,CAAC;AAEzE,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC;AACF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAOjD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IACxC,GAAG,EAAE,CAAE,YAAY,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAG,MAAM,EAAE,MAAM,KAAM,IAAI,CAAA;CACxE,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,oBAAoB,EAAE,CAAE,MAAM,EAAE,MAAM,KAAM,UAAU,CAAA;CACvD,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;IAC9B,KAAK,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;IAC9B,GAAG,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;IAC5B,IAAI,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;IAC7B,IAAI,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;IAC7B,KAAK,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAG,IAAI,CAAA;CAC/B,CAAA"}
|
package/build/logger.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LevelLogMap = exports.LogLevelMap = exports.LoggerConfigSchema = void 0;
|
|
7
|
+
const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
|
|
8
|
+
exports.LoggerConfigSchema = jsonschema_definer_1.default.shape({
|
|
9
|
+
logLevel: jsonschema_definer_1.default.string().enum('silly', 'debug', 'log', 'info', 'warn', 'error').optional(),
|
|
10
|
+
modulesWhitelist: jsonschema_definer_1.default.array().items(jsonschema_definer_1.default.string()).optional(),
|
|
11
|
+
modulesBlacklist: jsonschema_definer_1.default.array().items(jsonschema_definer_1.default.string()).optional()
|
|
12
|
+
}).optional();
|
|
13
|
+
exports.LogLevelMap = {
|
|
14
|
+
error: 0,
|
|
15
|
+
warn: 1,
|
|
16
|
+
info: 2,
|
|
17
|
+
log: 3,
|
|
18
|
+
debug: 4,
|
|
19
|
+
silly: 5,
|
|
20
|
+
};
|
|
21
|
+
exports.LevelLogMap = {
|
|
22
|
+
0: 'error',
|
|
23
|
+
1: 'warn',
|
|
24
|
+
2: 'info',
|
|
25
|
+
3: 'log',
|
|
26
|
+
4: 'debug',
|
|
27
|
+
5: 'silly',
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,wFAA+C;AAGlC,QAAA,kBAAkB,GAAG,4BAAC,CAAC,KAAK,CAAC;IACxC,QAAQ,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAE,CAAC,QAAQ,EAAE;IACxF,gBAAgB,EAAE,4BAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzD,gBAAgB,EAAE,4BAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1D,CAAC,CAAC,QAAQ,EAAE,CAAC;AAKD,QAAA,WAAW,GAAG;IACzB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACT,CAAC;AACW,QAAA,WAAW,GAA8B;IACpD,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;CACX,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CommittedEvent } from '@bett3r-dev/pv3-types';
|
|
2
|
+
export declare const UdpConfigSchema: import("@bett3r-dev/jsonschema-definer").ObjectSchema<{
|
|
3
|
+
port?: number | undefined;
|
|
4
|
+
multicastAddress?: string | undefined;
|
|
5
|
+
ttl?: number | undefined;
|
|
6
|
+
}, true>;
|
|
7
|
+
export type UdpConfigType = typeof UdpConfigSchema.type;
|
|
8
|
+
export declare const AdminServicesConfigSchema: import("@bett3r-dev/jsonschema-definer").ObjectSchema<{
|
|
9
|
+
udp?: {
|
|
10
|
+
port?: number | undefined;
|
|
11
|
+
multicastAddress?: string | undefined;
|
|
12
|
+
ttl?: number | undefined;
|
|
13
|
+
} | undefined;
|
|
14
|
+
structure?: {
|
|
15
|
+
structureEventstoreStream?: string | undefined;
|
|
16
|
+
structureAggregateCollection?: string | undefined;
|
|
17
|
+
structureEventstoreCollection?: string | undefined;
|
|
18
|
+
} | undefined;
|
|
19
|
+
infrastructure?: {
|
|
20
|
+
infrastructureLeaderRandomBackoff?: number | undefined;
|
|
21
|
+
} | undefined;
|
|
22
|
+
metricsInterval?: number | undefined;
|
|
23
|
+
}, true>;
|
|
24
|
+
export type AdminServicesConfigType = typeof AdminServicesConfigSchema.type;
|
|
25
|
+
export type OutboxManagerType = {
|
|
26
|
+
start: (activateDiscoveredSubscriptions?: boolean) => Promise<void>;
|
|
27
|
+
stop: () => Promise<void>;
|
|
28
|
+
};
|
|
29
|
+
export type TcpEventMessageRequest = {
|
|
30
|
+
endpoint: string;
|
|
31
|
+
event: CommittedEvent;
|
|
32
|
+
};
|
|
33
|
+
export type TcpEventMessageResponse = {
|
|
34
|
+
id: number;
|
|
35
|
+
status: number;
|
|
36
|
+
error?: string;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=outboxManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outboxManager.d.ts","sourceRoot":"","sources":["../src/outboxManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,eAAO,MAAM,eAAe;;;;QAI1B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;AAGxD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;QAKpC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,CAAE,+BAA+B,CAAC,EAAE,OAAO,KAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,cAAc,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AdminServicesConfigSchema = exports.UdpConfigSchema = void 0;
|
|
7
|
+
const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
|
|
8
|
+
const pv3_types_1 = require("@bett3r-dev/pv3-types");
|
|
9
|
+
const pv3_types_2 = require("@bett3r-dev/pv3-types");
|
|
10
|
+
exports.UdpConfigSchema = jsonschema_definer_1.default.shape({
|
|
11
|
+
port: jsonschema_definer_1.default.number().default(16706).optional(),
|
|
12
|
+
multicastAddress: jsonschema_definer_1.default.string().default('224.0.1.50').optional(),
|
|
13
|
+
ttl: jsonschema_definer_1.default.number().optional()
|
|
14
|
+
});
|
|
15
|
+
exports.AdminServicesConfigSchema = jsonschema_definer_1.default.shape({
|
|
16
|
+
udp: exports.UdpConfigSchema.optional().default({}),
|
|
17
|
+
structure: pv3_types_2.ClusterStructureConfigSchema.optional().default({}),
|
|
18
|
+
infrastructure: pv3_types_1.InfrastructureConfigSchema.optional().default({}),
|
|
19
|
+
metricsInterval: jsonschema_definer_1.default.number().optional().default(1000)
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=outboxManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outboxManager.js","sourceRoot":"","sources":["../src/outboxManager.ts"],"names":[],"mappings":";;;;;;AAAA,wFAA+C;AAC/C,qDAAmE;AAEnE,qDAAqE;AAExD,QAAA,eAAe,GAAG,4BAAC,CAAC,KAAK,CAAC;IACrC,IAAI,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,KAAK,CAAE,CAAC,QAAQ,EAAE;IAC5C,gBAAgB,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAE,YAAY,CAAE,CAAC,QAAQ,EAAE;IAC/D,GAAG,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAIU,QAAA,yBAAyB,GAAG,4BAAC,CAAC,KAAK,CAAC;IAC/C,GAAG,EAAE,uBAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3C,SAAS,EAAE,wCAA4B,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9D,cAAc,EAAE,sCAA0B,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACjE,eAAe,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAE,IAAI,CAAE;CACvD,CAAC,CAAC"}
|
package/build/ports.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { AuthenticationPort } from './authentication';
|
|
2
|
+
import { CachePort } from './cache';
|
|
3
|
+
import { ConfigurationPort } from './configuration';
|
|
4
|
+
import { DatabasePort } from './database';
|
|
5
|
+
import { EndpointsPort } from './endpoints';
|
|
6
|
+
import { EventStorePort } from './evenstore';
|
|
7
|
+
import { EventSourcingPort } from './eventsourcing';
|
|
8
|
+
import { InfrastructurePortType } from './infrastructure';
|
|
9
|
+
import { LoggerPort } from './logger';
|
|
10
|
+
import { TypedEventEmitter } from './typedEventEmitter';
|
|
11
|
+
export type PortEmitterEvents = {
|
|
12
|
+
started: void;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Base type for Porst that exposes an EventEmitter interface for handling the 'started' event.
|
|
16
|
+
*/
|
|
17
|
+
export type PortEmitter = {
|
|
18
|
+
isStarted: boolean;
|
|
19
|
+
emitter: TypedEventEmitter<PortEmitterEvents>;
|
|
20
|
+
onStarted: (fn: () => void) => void;
|
|
21
|
+
};
|
|
22
|
+
export type AdapterBase<T = any> = {
|
|
23
|
+
name: string;
|
|
24
|
+
_adapter: () => T;
|
|
25
|
+
start: () => Promise<void>;
|
|
26
|
+
stop: () => Promise<void>;
|
|
27
|
+
};
|
|
28
|
+
export type Ports = {
|
|
29
|
+
configuration: ConfigurationPort;
|
|
30
|
+
logger: LoggerPort;
|
|
31
|
+
cache: CachePort;
|
|
32
|
+
endpoints: EndpointsPort;
|
|
33
|
+
database: DatabasePort;
|
|
34
|
+
eventstore: EventStorePort;
|
|
35
|
+
eventsourcing: EventSourcingPort;
|
|
36
|
+
authentication: AuthenticationPort;
|
|
37
|
+
infrastructure: InfrastructurePortType;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=ports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,IAAI,CAAC;CACf,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC9C,SAAS,EAAE,CAAE,EAAE,EAAE,MAAM,IAAI,KAAM,IAAI,CAAA;CACtC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,aAAa,EAAE,iBAAiB,CAAC;IACjC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,aAAa,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,aAAa,EAAE,iBAAiB,CAAC;IACjC,cAAc,EAAE,kBAAkB,CAAC;IACnC,cAAc,EAAE,sBAAsB,CAAA;CACvC,CAAA"}
|
package/build/ports.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Ports } from './ports';
|
|
2
|
+
import { ClusterRoutesConfigType } from './clusterAdministration';
|
|
3
|
+
export declare const ClusterRoutesAggregateSchema: import("@bett3r-dev/jsonschema-definer").ObjectSchema<{
|
|
4
|
+
roles?: string[] | undefined;
|
|
5
|
+
isPublic?: boolean | undefined;
|
|
6
|
+
id: string;
|
|
7
|
+
method: string;
|
|
8
|
+
}, true>;
|
|
9
|
+
export type ClusterRoutesAggregateType = typeof ClusterRoutesAggregateSchema.type;
|
|
10
|
+
export type RouteManagerEndpointAuth = ClusterRoutesAggregateType;
|
|
11
|
+
export declare const UpsertRouteCommandSchema: import("@bett3r-dev/jsonschema-definer").ObjectSchema<{
|
|
12
|
+
[x: string]: {
|
|
13
|
+
roles?: string[] | undefined;
|
|
14
|
+
isPublic?: boolean | undefined;
|
|
15
|
+
id: string;
|
|
16
|
+
method: string;
|
|
17
|
+
};
|
|
18
|
+
}, true>;
|
|
19
|
+
export declare const DeleteRouteCommandSchema: import("@bett3r-dev/jsonschema-definer").ArraySchema<string, true>;
|
|
20
|
+
export declare const ClusterManagerEvents: {
|
|
21
|
+
RoutesUpserted: () => import("./eventsourcing").EventInstance<{
|
|
22
|
+
[x: string]: {
|
|
23
|
+
roles?: string[] | undefined;
|
|
24
|
+
isPublic?: boolean | undefined;
|
|
25
|
+
id: string;
|
|
26
|
+
method: string;
|
|
27
|
+
};
|
|
28
|
+
}, any>;
|
|
29
|
+
RouteDeleted: () => import("./eventsourcing").EventInstance<string[], any>;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Represents the place where the routes are stored and consumed by an authorization server.
|
|
33
|
+
* Usually this store will live in a Cache and holds all the endpoints of the application
|
|
34
|
+
* and their access requirements. That means if the resource is public, or what roles can have access.
|
|
35
|
+
*/
|
|
36
|
+
export type RoutesAuthManagerType = {
|
|
37
|
+
getAllRoutes: () => Promise<RouteManagerEndpointAuth[]>;
|
|
38
|
+
getRoute: (method: string, route: string) => Promise<Pick<RouteManagerEndpointAuth, 'isPublic' | 'roles'> | false>;
|
|
39
|
+
upsertRoute: (endpoint: RouteManagerEndpointAuth) => Promise<RouteManagerEndpointAuth>;
|
|
40
|
+
subscribeToRoutesAuthChanges: (onStructureChanges: (change: ClusterRoutesAggregateType) => void) => Promise<{
|
|
41
|
+
unsubscribe: () => void;
|
|
42
|
+
}>;
|
|
43
|
+
stop: () => Promise<void>;
|
|
44
|
+
};
|
|
45
|
+
export type RouteAuthManagerFactory = (ports: Pick<Ports, 'database' | 'eventstore'>, config: ClusterRoutesConfigType, eventstore?: Ports['eventstore']) => RoutesAuthManagerType;
|
|
46
|
+
export declare const EndpointMarkedAsPublicSchema: import("@bett3r-dev/jsonschema-definer").ObjectSchema<{
|
|
47
|
+
isPublic?: boolean | undefined;
|
|
48
|
+
id: string;
|
|
49
|
+
method: string;
|
|
50
|
+
}, true>;
|
|
51
|
+
export type EndpointMarkedAsPublic = typeof EndpointMarkedAsPublicSchema.type;
|
|
52
|
+
export declare const EndpointRolesUpsertedSchema: import("@bett3r-dev/jsonschema-definer").ObjectSchema<{
|
|
53
|
+
id: string;
|
|
54
|
+
roles: string[];
|
|
55
|
+
method: string;
|
|
56
|
+
}, true>;
|
|
57
|
+
export type EndpointRolesUpserted = typeof EndpointRolesUpsertedSchema.type;
|
|
58
|
+
//# sourceMappingURL=routesAuth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routesAuth.d.ts","sourceRoot":"","sources":["../src/routesAuth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAO,MAAM,4BAA4B;;;;;QAKvC,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAC;AAElF,MAAM,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAElE,eAAO,MAAM,wBAAwB;;;;;;;QAAmE,CAAC;AACzG,eAAO,MAAM,wBAAwB,oEAA+B,CAAC;AAErE,eAAO,MAAM,oBAAoB;;;;;;;;;;CAOhC,CAAC;AAGF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,MAAM,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACxD,QAAQ,EAAE,CAAE,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,KAAM,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,UAAU,GAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;IACjH,WAAW,EAAE,CAAE,QAAQ,EAAE,wBAAwB,KAAM,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACzF,4BAA4B,EAAE,CAAE,kBAAkB,EAAE,CAAE,MAAM,EAAE,0BAA0B,KAAM,IAAI,KAAM,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAC;IAC7I,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,CAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,GAAC,YAAY,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,qBAAqB,CAAA;AAGhL,eAAO,MAAM,4BAA4B;;;;QAIvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,4BAA4B,CAAC,IAAI,CAAA;AAE7E,eAAO,MAAM,2BAA2B;;;;QAItC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,2BAA2B,CAAC,IAAI,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EndpointRolesUpsertedSchema = exports.EndpointMarkedAsPublicSchema = exports.ClusterManagerEvents = exports.DeleteRouteCommandSchema = exports.UpsertRouteCommandSchema = exports.ClusterRoutesAggregateSchema = void 0;
|
|
7
|
+
const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
|
|
8
|
+
const http_1 = require("http");
|
|
9
|
+
const eventsourcing_1 = require("./eventsourcing");
|
|
10
|
+
exports.ClusterRoutesAggregateSchema = jsonschema_definer_1.default.shape({
|
|
11
|
+
method: jsonschema_definer_1.default.string().enum(...http_1.METHODS.map(m => m.toLocaleLowerCase())),
|
|
12
|
+
id: jsonschema_definer_1.default.string(),
|
|
13
|
+
isPublic: jsonschema_definer_1.default.boolean().optional(),
|
|
14
|
+
roles: jsonschema_definer_1.default.array().items(jsonschema_definer_1.default.string()).optional(),
|
|
15
|
+
});
|
|
16
|
+
exports.UpsertRouteCommandSchema = jsonschema_definer_1.default.shape({}).additionalProperties(exports.ClusterRoutesAggregateSchema);
|
|
17
|
+
exports.DeleteRouteCommandSchema = jsonschema_definer_1.default.array().items(jsonschema_definer_1.default.string());
|
|
18
|
+
exports.ClusterManagerEvents = {
|
|
19
|
+
RoutesUpserted: () => (0, eventsourcing_1.Event)({
|
|
20
|
+
schema: exports.UpsertRouteCommandSchema
|
|
21
|
+
}),
|
|
22
|
+
RouteDeleted: () => (0, eventsourcing_1.Event)({
|
|
23
|
+
schema: exports.DeleteRouteCommandSchema
|
|
24
|
+
})
|
|
25
|
+
};
|
|
26
|
+
// Endpoints Schemas
|
|
27
|
+
exports.EndpointMarkedAsPublicSchema = jsonschema_definer_1.default.shape({
|
|
28
|
+
method: jsonschema_definer_1.default.string().enum(...http_1.METHODS.map(m => m.toLocaleLowerCase())),
|
|
29
|
+
id: jsonschema_definer_1.default.string(),
|
|
30
|
+
isPublic: jsonschema_definer_1.default.boolean().optional()
|
|
31
|
+
});
|
|
32
|
+
exports.EndpointRolesUpsertedSchema = jsonschema_definer_1.default.shape({
|
|
33
|
+
method: jsonschema_definer_1.default.string().enum(...http_1.METHODS.map(m => m.toLocaleLowerCase())),
|
|
34
|
+
id: jsonschema_definer_1.default.string(),
|
|
35
|
+
roles: jsonschema_definer_1.default.array().items(jsonschema_definer_1.default.string()),
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=routesAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routesAuth.js","sourceRoot":"","sources":["../src/routesAuth.ts"],"names":[],"mappings":";;;;;;AAAA,wFAA+C;AAC/C,+BAA+B;AAC/B,mDAAwC;AAI3B,QAAA,4BAA4B,GAAG,4BAAC,CAAC,KAAK,CAAC;IAClD,MAAM,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAE,GAAG,cAAO,CAAC,GAAG,CAAE,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACnE,EAAE,EAAE,4BAAC,CAAC,MAAM,EAAE;IACd,QAAQ,EAAE,4BAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,4BAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAKU,QAAA,wBAAwB,GAAG,4BAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAE,oCAA4B,CAAE,CAAC;AAC5F,QAAA,wBAAwB,GAAG,4BAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAExD,QAAA,oBAAoB,GAAG;IAClC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAA,qBAAK,EAAC;QAC1B,MAAM,EAAE,gCAAwB;KACjC,CAAC;IACF,YAAY,EAAE,GAAG,EAAE,CAAC,IAAA,qBAAK,EAAC;QACxB,MAAM,EAAE,gCAAwB;KACjC,CAAC;CACH,CAAC;AAkBF,oBAAoB;AACP,QAAA,4BAA4B,GAAG,4BAAC,CAAC,KAAK,CAAC;IAClD,MAAM,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAE,GAAG,cAAO,CAAC,GAAG,CAAE,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACnE,EAAE,EAAE,4BAAC,CAAC,MAAM,EAAE;IACd,QAAQ,EAAE,4BAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGU,QAAA,2BAA2B,GAAG,4BAAC,CAAC,KAAK,CAAC;IACjD,MAAM,EAAE,4BAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAE,GAAG,cAAO,CAAC,GAAG,CAAE,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACnE,EAAE,EAAE,4BAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,4BAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAE,4BAAC,CAAC,MAAM,EAAE,CAAC;CACpC,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
declare module 'events' {
|
|
2
|
+
interface EventEmitter {
|
|
3
|
+
on<K extends keyof any>(event: K, listener: (...args: any[]) => void): this;
|
|
4
|
+
emit<K extends keyof any>(event: K, ...args: any[]): boolean;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export declare class TypedEventEmitter<T> {
|
|
8
|
+
private emitter;
|
|
9
|
+
on<K extends keyof T>(event: K, listener: (arg: T[K]) => void): this;
|
|
10
|
+
emit<K extends keyof T>(event: K, arg?: T[K]): boolean;
|
|
11
|
+
off<K extends keyof T>(event: K, listener: (arg: T[K]) => void): this;
|
|
12
|
+
once<K extends keyof T>(event: K, listener: (arg: T[K]) => void): this;
|
|
13
|
+
removeAllListeners<K extends keyof T>(event?: K): this;
|
|
14
|
+
listeners<K extends keyof T>(event: K): Function[];
|
|
15
|
+
rawListeners<K extends keyof T>(event: K): Function[];
|
|
16
|
+
listenerCount<K extends keyof T>(event: K): number;
|
|
17
|
+
prependListener<K extends keyof T>(event: K, listener: (arg: T[K]) => void): this;
|
|
18
|
+
prependOnceListener<K extends keyof T>(event: K, listener: (arg: T[K]) => void): this;
|
|
19
|
+
eventNames(): (keyof T)[];
|
|
20
|
+
getMaxListeners(): number;
|
|
21
|
+
setMaxListeners(n: number): this;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=typedEventEmitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typedEventEmitter.d.ts","sourceRoot":"","sources":["../src/typedEventEmitter.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,QAAQ,CAAC;IACtB,UAAU,YAAY;QACpB,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAI,IAAI,CAAC;QAC/E,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,EAAG,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;KAC/D;CACF;AAED,qBAAa,iBAAiB,CAAC,CAAC;IAE9B,OAAO,CAAC,OAAO,CAA4B;IAE3C,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAI,IAAI;IAKvE,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAG,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;IAIvD,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAI,IAAI;IAKxE,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAI,IAAI;IAKzE,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,EAAG,KAAK,CAAC,EAAE,CAAC,GAAI,IAAI;IAKxD,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,EAAG,KAAK,EAAE,CAAC,GAAI,QAAQ,EAAE;IAIpD,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,EAAG,KAAK,EAAE,CAAC,GAAI,QAAQ,EAAE;IAIvD,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,EAAG,KAAK,EAAE,CAAC,GAAI,MAAM;IAIpD,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAI,IAAI;IAKpF,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAI,IAAI;IAKxF,UAAU,IAAI,CAAE,MAAM,CAAC,CAAE,EAAE;IAI3B,eAAe,IAAI,MAAM;IAIzB,eAAe,CAAE,CAAC,EAAE,MAAM,GAAI,IAAI;CAKnC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypedEventEmitter = void 0;
|
|
4
|
+
const events_1 = require("events");
|
|
5
|
+
class TypedEventEmitter {
|
|
6
|
+
emitter = new events_1.EventEmitter();
|
|
7
|
+
on(event, listener) {
|
|
8
|
+
this.emitter.on(event, listener);
|
|
9
|
+
return this;
|
|
10
|
+
}
|
|
11
|
+
emit(event, arg) {
|
|
12
|
+
return this.emitter.emit(event, arg);
|
|
13
|
+
}
|
|
14
|
+
off(event, listener) {
|
|
15
|
+
this.emitter.off(event, listener);
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
once(event, listener) {
|
|
19
|
+
this.emitter.once(event, listener);
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
removeAllListeners(event) {
|
|
23
|
+
this.emitter.removeAllListeners(event);
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
listeners(event) {
|
|
27
|
+
return this.emitter.listeners(event);
|
|
28
|
+
}
|
|
29
|
+
rawListeners(event) {
|
|
30
|
+
return this.emitter.rawListeners(event);
|
|
31
|
+
}
|
|
32
|
+
listenerCount(event) {
|
|
33
|
+
return this.emitter.listenerCount(event);
|
|
34
|
+
}
|
|
35
|
+
prependListener(event, listener) {
|
|
36
|
+
this.emitter.prependListener(event, listener);
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
prependOnceListener(event, listener) {
|
|
40
|
+
this.emitter.prependOnceListener(event, listener);
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
eventNames() {
|
|
44
|
+
return this.emitter.eventNames();
|
|
45
|
+
}
|
|
46
|
+
getMaxListeners() {
|
|
47
|
+
return this.emitter.getMaxListeners();
|
|
48
|
+
}
|
|
49
|
+
setMaxListeners(n) {
|
|
50
|
+
this.emitter.setMaxListeners(n);
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.TypedEventEmitter = TypedEventEmitter;
|
|
55
|
+
//# sourceMappingURL=typedEventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typedEventEmitter.js","sourceRoot":"","sources":["../src/typedEventEmitter.ts"],"names":[],"mappings":";;;AAAA,mCAA4D;AAS5D,MAAa,iBAAiB;IAEpB,OAAO,GAAG,IAAI,qBAAkB,EAAE,CAAC;IAE3C,EAAE,CAAqB,KAAQ,EAAE,QAA8B;QAC7D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAE,KAAe,EAAE,QAAQ,CAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAqB,KAAQ,EAAE,GAAU;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,KAAe,EAAE,GAAG,CAAE,CAAC;IACnD,CAAC;IAED,GAAG,CAAqB,KAAQ,EAAE,QAA8B;QAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,KAAe,EAAE,QAAQ,CAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAqB,KAAQ,EAAE,QAA8B;QAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,KAAe,EAAE,QAAQ,CAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAAqB,KAAS;QAC9C,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAE,KAAe,CAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAqB,KAAQ;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAE,KAAe,CAAE,CAAC;IACnD,CAAC;IAED,YAAY,CAAqB,KAAQ;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAE,KAAe,CAAE,CAAC;IACtD,CAAC;IAED,aAAa,CAAqB,KAAQ;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAE,KAAe,CAAE,CAAC;IACvD,CAAC;IAED,eAAe,CAAqB,KAAQ,EAAE,QAA8B;QAC1E,IAAI,CAAC,OAAO,CAAC,eAAe,CAAE,KAAe,EAAE,QAAQ,CAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAqB,KAAQ,EAAE,QAA8B;QAC9E,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAE,KAAe,EAAE,QAAQ,CAAE,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAmB,CAAC;IACpD,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC;IAED,eAAe,CAAE,CAAS;QACxB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAE,CAAC,CAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;CAEF;AA/DD,8CA+DC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { BaseSchema } from '@bett3r-dev/jsonschema-definer';
|
|
2
|
+
export type AppErrorInstance<ErrorPayload = unknown> = Error & AppErrorData<ErrorPayload>;
|
|
3
|
+
export type AppErrorData<ErrorPayload = unknown> = {
|
|
4
|
+
error?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
type: ErrorTypes;
|
|
7
|
+
details?: ErrorPayload;
|
|
8
|
+
status?: number;
|
|
9
|
+
};
|
|
10
|
+
export type AppErrorType<ErrorPayload = any> = AppErrorData<ErrorPayload> & {
|
|
11
|
+
schema?: BaseSchema<ErrorPayload>;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
16
|
+
export declare const errorStatusCodeMap: {
|
|
17
|
+
BadRequestError: number;
|
|
18
|
+
UnauthorizedError: number;
|
|
19
|
+
PaymentRequiredError: number;
|
|
20
|
+
ForbiddenError: number;
|
|
21
|
+
NotFoundError: number;
|
|
22
|
+
MethodNotAllowedError: number;
|
|
23
|
+
NotAcceptableError: number;
|
|
24
|
+
ProxyAuthenticationRequiredError: number;
|
|
25
|
+
RequestTimeoutError: number;
|
|
26
|
+
ConflictError: number;
|
|
27
|
+
ConcurrencyError: number;
|
|
28
|
+
GoneError: number;
|
|
29
|
+
LengthRequiredError: number;
|
|
30
|
+
PreconditionFailedError: number;
|
|
31
|
+
PayloadTooLargeError: number;
|
|
32
|
+
TooManyRequestsError: number;
|
|
33
|
+
InternalServerError: number;
|
|
34
|
+
NotImplementedError: number;
|
|
35
|
+
BadGatewayError: number;
|
|
36
|
+
ServiceUnavailableError: number;
|
|
37
|
+
GatewayTimeoutError: number;
|
|
38
|
+
};
|
|
39
|
+
export declare const statusCodeErrorMap: {
|
|
40
|
+
400: string;
|
|
41
|
+
401: string;
|
|
42
|
+
402: string;
|
|
43
|
+
403: string;
|
|
44
|
+
404: string;
|
|
45
|
+
405: string;
|
|
46
|
+
406: string;
|
|
47
|
+
407: string;
|
|
48
|
+
408: string;
|
|
49
|
+
409: string;
|
|
50
|
+
410: string;
|
|
51
|
+
411: string;
|
|
52
|
+
412: string;
|
|
53
|
+
413: string;
|
|
54
|
+
429: string;
|
|
55
|
+
500: string;
|
|
56
|
+
501: string;
|
|
57
|
+
502: string;
|
|
58
|
+
503: string;
|
|
59
|
+
504: string;
|
|
60
|
+
};
|
|
61
|
+
declare const ErrorTypesSchema: BaseSchema<"BadRequestError" | "UnauthorizedError" | "PaymentRequiredError" | "ForbiddenError" | "NotFoundError" | "MethodNotAllowedError" | "NotAcceptableError" | "ProxyAuthenticationRequiredError" | "RequestTimeoutError" | "ConflictError" | "ConcurrencyError" | "GoneError" | "LengthRequiredError" | "PreconditionFailedError" | "PayloadTooLargeError" | "TooManyRequestsError" | "InternalServerError" | "NotImplementedError" | "BadGatewayError" | "ServiceUnavailableError" | "GatewayTimeoutError", true, Readonly<import("@bett3r-dev/jsonschema-definer/dist/base").BaseJsonSchema>>;
|
|
62
|
+
export type ErrorTypes = typeof ErrorTypesSchema.type;
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAU,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,MAAM,gBAAgB,CAAC,YAAY,GAAG,OAAO,IAAI,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;AACzF,MAAM,MAAM,YAAY,CAAC,YAAY,GAAG,OAAO,IAAI;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAC,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,YAAY,GAAG,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,GAAG;IAAC,MAAM,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;CAAC,CAAA;AAE/G;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAsB9B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;CAqB9B,CAAC;AAGF,QAAA,MAAM,gBAAgB,ukBAsBrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.statusCodeErrorMap = exports.errorStatusCodeMap = void 0;
|
|
7
|
+
const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
|
|
8
|
+
/**
|
|
9
|
+
* @hidden
|
|
10
|
+
*/
|
|
11
|
+
exports.errorStatusCodeMap = {
|
|
12
|
+
BadRequestError: 400,
|
|
13
|
+
UnauthorizedError: 401,
|
|
14
|
+
PaymentRequiredError: 402,
|
|
15
|
+
ForbiddenError: 403,
|
|
16
|
+
NotFoundError: 404,
|
|
17
|
+
MethodNotAllowedError: 405,
|
|
18
|
+
NotAcceptableError: 406,
|
|
19
|
+
ProxyAuthenticationRequiredError: 407,
|
|
20
|
+
RequestTimeoutError: 408,
|
|
21
|
+
ConflictError: 409,
|
|
22
|
+
ConcurrencyError: 409,
|
|
23
|
+
GoneError: 410,
|
|
24
|
+
LengthRequiredError: 411,
|
|
25
|
+
PreconditionFailedError: 412,
|
|
26
|
+
PayloadTooLargeError: 413,
|
|
27
|
+
TooManyRequestsError: 429,
|
|
28
|
+
InternalServerError: 500,
|
|
29
|
+
NotImplementedError: 501,
|
|
30
|
+
BadGatewayError: 502,
|
|
31
|
+
ServiceUnavailableError: 503,
|
|
32
|
+
GatewayTimeoutError: 504,
|
|
33
|
+
};
|
|
34
|
+
exports.statusCodeErrorMap = {
|
|
35
|
+
400: 'BadRequestError',
|
|
36
|
+
401: 'UnauthorizedError',
|
|
37
|
+
402: 'PaymentRequiredError',
|
|
38
|
+
403: 'ForbiddenError',
|
|
39
|
+
404: 'NotFoundError',
|
|
40
|
+
405: 'MethodNotAllowedError',
|
|
41
|
+
406: 'NotAcceptableError',
|
|
42
|
+
407: 'ProxyAuthenticationRequiredError',
|
|
43
|
+
408: 'RequestTimeoutError',
|
|
44
|
+
409: 'ConcurrencyError',
|
|
45
|
+
410: 'GoneError',
|
|
46
|
+
411: 'LengthRequiredError',
|
|
47
|
+
412: 'PreconditionFailedError',
|
|
48
|
+
413: 'PayloadTooLargeError',
|
|
49
|
+
429: 'TooManyRequestsError',
|
|
50
|
+
500: 'InternalServerError',
|
|
51
|
+
501: 'NotImplementedError',
|
|
52
|
+
502: 'BadGatewayError',
|
|
53
|
+
503: 'ServiceUnavailableError',
|
|
54
|
+
504: 'GatewayTimeoutError',
|
|
55
|
+
};
|
|
56
|
+
const ErrorTypesSchema = jsonschema_definer_1.default.string().enum('BadRequestError', 'UnauthorizedError', 'PaymentRequiredError', 'ForbiddenError', 'NotFoundError', 'MethodNotAllowedError', 'NotAcceptableError', 'ProxyAuthenticationRequiredError', 'RequestTimeoutError', 'ConflictError', 'ConcurrencyError', 'GoneError', 'LengthRequiredError', 'PreconditionFailedError', 'PayloadTooLargeError', 'TooManyRequestsError', 'InternalServerError', 'NotImplementedError', 'BadGatewayError', 'ServiceUnavailableError', 'GatewayTimeoutError');
|
|
57
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;;;;;AAAA,wFAA+D;AAa/D;;GAEG;AACU,QAAA,kBAAkB,GAAG;IAChC,eAAe,EAAE,GAAG;IACpB,iBAAiB,EAAE,GAAG;IACtB,oBAAoB,EAAE,GAAG;IACzB,cAAc,EAAE,GAAG;IACnB,aAAa,EAAE,GAAG;IAClB,qBAAqB,EAAE,GAAG;IAC1B,kBAAkB,EAAE,GAAG;IACvB,gCAAgC,EAAE,GAAG;IACrC,mBAAmB,EAAE,GAAG;IACxB,aAAa,EAAE,GAAG;IAClB,gBAAgB,EAAE,GAAG;IACrB,SAAS,EAAE,GAAG;IACd,mBAAmB,EAAE,GAAG;IACxB,uBAAuB,EAAE,GAAG;IAC5B,oBAAoB,EAAE,GAAG;IACzB,oBAAoB,EAAE,GAAG;IACzB,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;IACxB,eAAe,EAAE,GAAG;IACpB,uBAAuB,EAAE,GAAG;IAC5B,mBAAmB,EAAE,GAAG;CACzB,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAChC,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,sBAAsB;IAC3B,GAAG,EAAE,gBAAgB;IACrB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,uBAAuB;IAC5B,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,kCAAkC;IACvC,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,yBAAyB;IAC9B,GAAG,EAAE,sBAAsB;IAC3B,GAAG,EAAE,sBAAsB;IAC3B,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,yBAAyB;IAC9B,GAAG,EAAE,qBAAqB;CAC3B,CAAC;AAGF,MAAM,gBAAgB,GAAG,4BAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CACtC,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,kCAAkC,EAClC,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,CACtB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bett3r-dev/pv3-types",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"main": "build/index.js",
|
|
5
|
+
"types": "build/index.d.ts",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"clean": "yarn run -T tsc --build --clean",
|
|
9
|
+
"prebuild": "yarn clean",
|
|
10
|
+
"build": "yarn run -T tsc --build --verbose"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@bett3r-dev/jsonschema-definer": "^1.4.4"
|
|
14
|
+
}
|
|
15
|
+
}
|