@valkyrjaio/sindri 26.0.1
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/LICENSE.md +21 -0
- package/README.md +111 -0
- package/package.json +63 -0
- package/src/Sindri/Ast/Abstract/AstReader.ts +710 -0
- package/src/Sindri/Ast/Abstract/RouteAttributeReader.ts +50 -0
- package/src/Sindri/Ast/CliRouteAttributeReader.ts +219 -0
- package/src/Sindri/Ast/CliRouteParameterReader.ts +204 -0
- package/src/Sindri/Ast/ComponentProviderReader.ts +41 -0
- package/src/Sindri/Ast/ConfigReader.ts +213 -0
- package/src/Sindri/Ast/Contract/CliRouteAttributeReaderContract.ts +14 -0
- package/src/Sindri/Ast/Contract/CliRouteParameterReaderContract.ts +34 -0
- package/src/Sindri/Ast/Contract/ComponentProviderReaderContract.ts +14 -0
- package/src/Sindri/Ast/Contract/ConfigReaderContract.ts +14 -0
- package/src/Sindri/Ast/Contract/HttpRouteAttributeReaderContract.ts +14 -0
- package/src/Sindri/Ast/Contract/HttpRouteMiddlewareReaderContract.ts +61 -0
- package/src/Sindri/Ast/Contract/HttpRouteParameterReaderContract.ts +26 -0
- package/src/Sindri/Ast/Contract/ListenerAttributeReaderContract.ts +14 -0
- package/src/Sindri/Ast/Contract/ListenerProviderReaderContract.ts +14 -0
- package/src/Sindri/Ast/Contract/RouteProviderReaderContract.ts +14 -0
- package/src/Sindri/Ast/Contract/ServiceProviderReaderContract.ts +14 -0
- package/src/Sindri/Ast/Data/CliArgumentParameterData.ts +20 -0
- package/src/Sindri/Ast/Data/CliOptionParameterData.ts +24 -0
- package/src/Sindri/Ast/Data/CliRouteData.ts +32 -0
- package/src/Sindri/Ast/Data/ConfigData.ts +20 -0
- package/src/Sindri/Ast/Data/Contract/CliArgumentParameterDataContract.ts +18 -0
- package/src/Sindri/Ast/Data/Contract/CliOptionParameterDataContract.ts +22 -0
- package/src/Sindri/Ast/Data/Contract/CliRouteDataContract.ts +25 -0
- package/src/Sindri/Ast/Data/Contract/ConfigDataContract.ts +16 -0
- package/src/Sindri/Ast/Data/Contract/HandlerDataContract.ts +13 -0
- package/src/Sindri/Ast/Data/Contract/HttpParameterDataContract.ts +17 -0
- package/src/Sindri/Ast/Data/Contract/HttpRouteDataContract.ts +28 -0
- package/src/Sindri/Ast/Data/Contract/ListenerDataContract.ts +16 -0
- package/src/Sindri/Ast/Data/HandlerData.ts +20 -0
- package/src/Sindri/Ast/Data/HttpParameterData.ts +20 -0
- package/src/Sindri/Ast/Data/HttpRouteData.ts +30 -0
- package/src/Sindri/Ast/Data/ListenerData.ts +19 -0
- package/src/Sindri/Ast/Data/Result/CliRouteAttributeResult.ts +14 -0
- package/src/Sindri/Ast/Data/Result/ComponentProviderResult.ts +28 -0
- package/src/Sindri/Ast/Data/Result/ConfigResult.ts +18 -0
- package/src/Sindri/Ast/Data/Result/HttpRouteAttributeResult.ts +19 -0
- package/src/Sindri/Ast/Data/Result/ListenerAttributeResult.ts +14 -0
- package/src/Sindri/Ast/Data/Result/ListenerProviderResult.ts +24 -0
- package/src/Sindri/Ast/Data/Result/RouteProviderResult.ts +24 -0
- package/src/Sindri/Ast/Data/Result/ServiceProviderResult.ts +22 -0
- package/src/Sindri/Ast/HttpRouteAttributeReader.ts +315 -0
- package/src/Sindri/Ast/HttpRouteMiddlewareReader.ts +214 -0
- package/src/Sindri/Ast/HttpRouteParameterReader.ts +193 -0
- package/src/Sindri/Ast/ListenerAttributeReader.ts +131 -0
- package/src/Sindri/Ast/ListenerProviderReader.ts +45 -0
- package/src/Sindri/Ast/RouteProviderReader.ts +45 -0
- package/src/Sindri/Ast/ServiceProviderReader.ts +124 -0
- package/src/Sindri/Ast/Throwable/Contract/AstThrowable.ts +12 -0
- package/src/Sindri/Ast/Throwable/Exception/Abstract/AstInvalidArgumentException.ts +14 -0
- package/src/Sindri/Ast/Throwable/Exception/Abstract/AstRuntimeException.ts +14 -0
- package/src/Sindri/Ast/Throwable/Exception/AstFileReadException.ts +12 -0
- package/src/Sindri/Cli/Command/GenerateDataFromConfigCommand.ts +83 -0
- package/src/Sindri/Constant/CommandName.ts +12 -0
- package/src/Sindri/Constant/SindriInfo.ts +20 -0
- package/src/Sindri/Constant/SindriServiceId.ts +32 -0
- package/src/Sindri/Generate/Abstract/GenerateDataFromAst.ts +391 -0
- package/src/Sindri/Generator/Abstract/AstFileGenerator.ts +54 -0
- package/src/Sindri/Generator/Abstract/FileGenerator.ts +59 -0
- package/src/Sindri/Generator/Ast/Cli/AstCliDataFileGenerator.ts +88 -0
- package/src/Sindri/Generator/Ast/Container/AstContainerDataFileGenerator.ts +86 -0
- package/src/Sindri/Generator/Ast/Event/AstEventDataFileGenerator.ts +79 -0
- package/src/Sindri/Generator/Ast/Http/AstHttpDataFileGenerator.ts +306 -0
- package/src/Sindri/Generator/Cli/Contract/CliDataFileGeneratorContract.ts +23 -0
- package/src/Sindri/Generator/Container/Contract/ContainerDataFileGeneratorContract.ts +21 -0
- package/src/Sindri/Generator/Contract/FileGeneratorContract.ts +15 -0
- package/src/Sindri/Generator/Enum/GenerateStatus.ts +14 -0
- package/src/Sindri/Generator/Event/Contract/EventDataFileGeneratorContract.ts +23 -0
- package/src/Sindri/Generator/Http/Contract/HttpDataFileGeneratorContract.ts +25 -0
- package/src/Sindri/Generator/Throwable/Contract/GeneratorThrowable.ts +12 -0
- package/src/Sindri/Generator/Throwable/Exception/Abstract/GeneratorInvalidArgumentException.ts +16 -0
- package/src/Sindri/Generator/Throwable/Exception/Abstract/GeneratorRuntimeException.ts +14 -0
- package/src/Sindri/Generator/Throwable/Exception/GeneratorUnreachableException.ts +12 -0
- package/src/Sindri/Provider/SindriAstServiceProvider.ts +182 -0
- package/src/Sindri/Provider/SindriCliRouteProvider.ts +32 -0
- package/src/Sindri/Provider/SindriCommandServiceProvider.ts +71 -0
- package/src/Sindri/Provider/SindriComponentProvider.ts +41 -0
- package/src/Sindri/Throwable/Contract/SindriThrowable.ts +12 -0
- package/src/Sindri/Throwable/Exception/Abstract/SindriInvalidArgumentException.ts +16 -0
- package/src/Sindri/Throwable/Exception/Abstract/SindriRuntimeException.ts +14 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the Sindri package.
|
|
3
|
+
*
|
|
4
|
+
* (c) Melech Mizrachi <melechmizrachi@gmail.com>
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { ts } from 'ts-morph';
|
|
11
|
+
|
|
12
|
+
import { AstReader } from './Abstract/AstReader.ts';
|
|
13
|
+
import { ServiceProviderResult } from './Data/Result/ServiceProviderResult.ts';
|
|
14
|
+
|
|
15
|
+
import type { MethodDeclaration } from 'ts-morph';
|
|
16
|
+
|
|
17
|
+
import type { ServiceProviderReaderContract } from './Contract/ServiceProviderReaderContract.ts';
|
|
18
|
+
|
|
19
|
+
export class ServiceProviderReader extends AstReader implements ServiceProviderReaderContract {
|
|
20
|
+
protected static readonly METHOD_PUBLISHERS = 'publishers';
|
|
21
|
+
|
|
22
|
+
readFile(filePath: string): ServiceProviderResult {
|
|
23
|
+
const sourceFile = this.parseFileToSourceFile(filePath);
|
|
24
|
+
const classDecl = this.findClass(sourceFile);
|
|
25
|
+
|
|
26
|
+
if (classDecl === undefined) {
|
|
27
|
+
return new ServiceProviderResult();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const useMap = this.buildUseMap(sourceFile);
|
|
31
|
+
const methods = this.indexMethods(classDecl);
|
|
32
|
+
const currentClass = classDecl.getName() ?? '';
|
|
33
|
+
|
|
34
|
+
const publishers = this.extractPublishersMap(
|
|
35
|
+
methods[ServiceProviderReader.METHOD_PUBLISHERS],
|
|
36
|
+
useMap,
|
|
37
|
+
filePath,
|
|
38
|
+
currentClass,
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
return new ServiceProviderResult(Object.keys(publishers), publishers);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Extract the publishers map from a publishers() method.
|
|
46
|
+
*
|
|
47
|
+
* Expects `return { [ServiceId]: ProviderClass.method, ... }`.
|
|
48
|
+
*/
|
|
49
|
+
protected extractPublishersMap(
|
|
50
|
+
method: MethodDeclaration | undefined,
|
|
51
|
+
useMap: Record<string, string>,
|
|
52
|
+
filePath: string,
|
|
53
|
+
currentClass: string = '',
|
|
54
|
+
): Record<string, readonly [string, string]> {
|
|
55
|
+
if (method === undefined) {
|
|
56
|
+
return {};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const obj = this.findReturnedObject(method);
|
|
60
|
+
|
|
61
|
+
if (obj === undefined) {
|
|
62
|
+
return {};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const map: Record<string, readonly [string, string]> = {};
|
|
66
|
+
|
|
67
|
+
for (const prop of obj.properties) {
|
|
68
|
+
if (!ts.isPropertyAssignment(prop)) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const serviceId = this.resolvePropertyKeyToString(prop.name, useMap, filePath);
|
|
73
|
+
|
|
74
|
+
if (serviceId === undefined || serviceId === '') {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const handler = this.extractHandlerFromValue(prop.initializer, useMap, filePath, currentClass);
|
|
79
|
+
|
|
80
|
+
if (handler === undefined) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
map[serviceId] = handler;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return map;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Extract a [providerClass, methodName] pair from a property access expression.
|
|
92
|
+
*
|
|
93
|
+
* Handles: `ProviderClass.publishMethod` and `[ProviderClass, 'method']`.
|
|
94
|
+
*/
|
|
95
|
+
protected extractHandlerFromValue(
|
|
96
|
+
node: ts.Expression,
|
|
97
|
+
useMap: Record<string, string>,
|
|
98
|
+
filePath: string,
|
|
99
|
+
currentClass: string,
|
|
100
|
+
): readonly [string, string] | undefined {
|
|
101
|
+
if (ts.isPropertyAccessExpression(node)) {
|
|
102
|
+
const className = ts.isIdentifier(node.expression) ? node.expression.text : undefined;
|
|
103
|
+
|
|
104
|
+
if (className === undefined) {
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const methodName = node.name.text;
|
|
109
|
+
const resolvedClass = className === 'self' || className === 'this' ? currentClass : className;
|
|
110
|
+
|
|
111
|
+
return [resolvedClass, methodName] as const;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
if (ts.isArrayLiteralExpression(node) && node.elements.length === 2) {
|
|
115
|
+
const raw = this.extractHandlerFromTsArray(node, useMap, filePath, currentClass);
|
|
116
|
+
|
|
117
|
+
if (raw !== undefined) {
|
|
118
|
+
return [raw.class, raw.method] as const;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the Sindri package.
|
|
3
|
+
*
|
|
4
|
+
* (c) Melech Mizrachi <melechmizrachi@gmail.com>
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import type { SindriThrowable } from '../../../Throwable/Contract/SindriThrowable.ts';
|
|
11
|
+
|
|
12
|
+
export type AstThrowable = SindriThrowable;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the Sindri package.
|
|
3
|
+
*
|
|
4
|
+
* (c) Melech Mizrachi <melechmizrachi@gmail.com>
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { SindriInvalidArgumentException } from '../../../../Throwable/Exception/Abstract/SindriInvalidArgumentException.ts';
|
|
11
|
+
|
|
12
|
+
import type { AstThrowable } from '../../Contract/AstThrowable.ts';
|
|
13
|
+
|
|
14
|
+
export abstract class AstInvalidArgumentException extends SindriInvalidArgumentException implements AstThrowable {}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the Sindri package.
|
|
3
|
+
*
|
|
4
|
+
* (c) Melech Mizrachi <melechmizrachi@gmail.com>
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { SindriRuntimeException } from '../../../../Throwable/Exception/Abstract/SindriRuntimeException.ts';
|
|
11
|
+
|
|
12
|
+
import type { AstThrowable } from '../../Contract/AstThrowable.ts';
|
|
13
|
+
|
|
14
|
+
export abstract class AstRuntimeException extends SindriRuntimeException implements AstThrowable {}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the Sindri package.
|
|
3
|
+
*
|
|
4
|
+
* (c) Melech Mizrachi <melechmizrachi@gmail.com>
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { AstRuntimeException } from './Abstract/AstRuntimeException.ts';
|
|
11
|
+
|
|
12
|
+
export class AstFileReadException extends AstRuntimeException {}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the Sindri package.
|
|
3
|
+
*
|
|
4
|
+
* (c) Melech Mizrachi <melechmizrachi@gmail.com>
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { CliRouteAttributeReader } from '../../Ast/CliRouteAttributeReader.ts';
|
|
11
|
+
import { ComponentProviderReader } from '../../Ast/ComponentProviderReader.ts';
|
|
12
|
+
import { ConfigReader } from '../../Ast/ConfigReader.ts';
|
|
13
|
+
import { HttpRouteAttributeReader } from '../../Ast/HttpRouteAttributeReader.ts';
|
|
14
|
+
import { ListenerAttributeReader } from '../../Ast/ListenerAttributeReader.ts';
|
|
15
|
+
import { ListenerProviderReader } from '../../Ast/ListenerProviderReader.ts';
|
|
16
|
+
import { RouteProviderReader } from '../../Ast/RouteProviderReader.ts';
|
|
17
|
+
import { ServiceProviderReader } from '../../Ast/ServiceProviderReader.ts';
|
|
18
|
+
import { AstCliDataFileGenerator } from '../../Generator/Ast/Cli/AstCliDataFileGenerator.ts';
|
|
19
|
+
import { AstContainerDataFileGenerator } from '../../Generator/Ast/Container/AstContainerDataFileGenerator.ts';
|
|
20
|
+
import { AstEventDataFileGenerator } from '../../Generator/Ast/Event/AstEventDataFileGenerator.ts';
|
|
21
|
+
import { AstHttpDataFileGenerator } from '../../Generator/Ast/Http/AstHttpDataFileGenerator.ts';
|
|
22
|
+
import { GenerateDataFromAst } from '../../Generate/Abstract/GenerateDataFromAst.ts';
|
|
23
|
+
|
|
24
|
+
import type { CliDataFileGeneratorContract } from '../../Generator/Cli/Contract/CliDataFileGeneratorContract.ts';
|
|
25
|
+
import type { ContainerDataFileGeneratorContract } from '../../Generator/Container/Contract/ContainerDataFileGeneratorContract.ts';
|
|
26
|
+
import type { EventDataFileGeneratorContract } from '../../Generator/Event/Contract/EventDataFileGeneratorContract.ts';
|
|
27
|
+
import type { HttpDataFileGeneratorContract } from '../../Generator/Http/Contract/HttpDataFileGeneratorContract.ts';
|
|
28
|
+
import type { CliRouteAttributeReaderContract } from '../../Ast/Contract/CliRouteAttributeReaderContract.ts';
|
|
29
|
+
import type { ComponentProviderReaderContract } from '../../Ast/Contract/ComponentProviderReaderContract.ts';
|
|
30
|
+
import type { ConfigReaderContract } from '../../Ast/Contract/ConfigReaderContract.ts';
|
|
31
|
+
import type { HttpRouteAttributeReaderContract } from '../../Ast/Contract/HttpRouteAttributeReaderContract.ts';
|
|
32
|
+
import type { ListenerAttributeReaderContract } from '../../Ast/Contract/ListenerAttributeReaderContract.ts';
|
|
33
|
+
import type { ListenerProviderReaderContract } from '../../Ast/Contract/ListenerProviderReaderContract.ts';
|
|
34
|
+
import type { RouteProviderReaderContract } from '../../Ast/Contract/RouteProviderReaderContract.ts';
|
|
35
|
+
import type { ServiceProviderReaderContract } from '../../Ast/Contract/ServiceProviderReaderContract.ts';
|
|
36
|
+
import type { OutputContract } from '@valkyrjaio/valkyrja/Cli/Interaction/Output/Contract/OutputContract.ts';
|
|
37
|
+
import type { OutputFactoryContract } from '@valkyrjaio/valkyrja/Cli/Interaction/Output/Factory/Contract/OutputFactoryContract.ts';
|
|
38
|
+
import type { RouteContract } from '@valkyrjaio/valkyrja/Cli/Routing/Data/Contract/RouteContract.ts';
|
|
39
|
+
|
|
40
|
+
export class GenerateDataFromConfigCommand extends GenerateDataFromAst {
|
|
41
|
+
public constructor(
|
|
42
|
+
protected override readonly route: RouteContract,
|
|
43
|
+
outputFactory: OutputFactoryContract,
|
|
44
|
+
configReader: ConfigReaderContract = new ConfigReader(),
|
|
45
|
+
componentProviderReader: ComponentProviderReaderContract = new ComponentProviderReader(),
|
|
46
|
+
routeProviderReader: RouteProviderReaderContract = new RouteProviderReader(),
|
|
47
|
+
listenerProviderReader: ListenerProviderReaderContract = new ListenerProviderReader(),
|
|
48
|
+
serviceProviderReader: ServiceProviderReaderContract = new ServiceProviderReader(),
|
|
49
|
+
cliRouteAttributeReader: CliRouteAttributeReaderContract = new CliRouteAttributeReader(),
|
|
50
|
+
httpRouteAttributeReader: HttpRouteAttributeReaderContract = new HttpRouteAttributeReader(),
|
|
51
|
+
listenerAttributeReader: ListenerAttributeReaderContract = new ListenerAttributeReader(),
|
|
52
|
+
containerGenerator: ContainerDataFileGeneratorContract = new AstContainerDataFileGenerator(),
|
|
53
|
+
eventGenerator: EventDataFileGeneratorContract = new AstEventDataFileGenerator(),
|
|
54
|
+
cliGenerator: CliDataFileGeneratorContract = new AstCliDataFileGenerator(),
|
|
55
|
+
httpGenerator: HttpDataFileGeneratorContract = new AstHttpDataFileGenerator(),
|
|
56
|
+
) {
|
|
57
|
+
super(
|
|
58
|
+
outputFactory,
|
|
59
|
+
route,
|
|
60
|
+
'Generating Component Data From Config',
|
|
61
|
+
configReader,
|
|
62
|
+
componentProviderReader,
|
|
63
|
+
routeProviderReader,
|
|
64
|
+
listenerProviderReader,
|
|
65
|
+
serviceProviderReader,
|
|
66
|
+
cliRouteAttributeReader,
|
|
67
|
+
httpRouteAttributeReader,
|
|
68
|
+
listenerAttributeReader,
|
|
69
|
+
containerGenerator,
|
|
70
|
+
eventGenerator,
|
|
71
|
+
cliGenerator,
|
|
72
|
+
httpGenerator,
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
public run(): OutputContract {
|
|
77
|
+
return this.generateData();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
protected override getConfigFilePath(): string {
|
|
81
|
+
return this.route.getArgument('config').getArguments()[0]?.getValue() ?? '';
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the Sindri package.
|
|
3
|
+
*
|
|
4
|
+
* (c) Melech Mizrachi <melechmizrachi@gmail.com>
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export class CommandName {
|
|
11
|
+
static readonly DATA_GENERATE = 'data:generate' as const;
|
|
12
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the Sindri package.
|
|
3
|
+
*
|
|
4
|
+
* (c) Melech Mizrachi <melechmizrachi@gmail.com>
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export class SindriInfo {
|
|
11
|
+
static readonly VERSION = '26.0.1' as const;
|
|
12
|
+
static readonly VERSION_BUILD_DATE_TIME = 'June 17 2026 20:43:19 MST' as const;
|
|
13
|
+
static readonly ICON = `\
|
|
14
|
+
██████████
|
|
15
|
+
████ ████
|
|
16
|
+
████
|
|
17
|
+
████
|
|
18
|
+
████
|
|
19
|
+
████████` as const;
|
|
20
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the Sindri package.
|
|
3
|
+
*
|
|
4
|
+
* (c) Melech Mizrachi <melechmizrachi@gmail.com>
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export class SindriServiceId {
|
|
11
|
+
static readonly CliRouteAttributeReaderContract = 'Sindri.Ast.Contract.CliRouteAttributeReaderContract' as const;
|
|
12
|
+
static readonly CliRouteParameterReaderContract = 'Sindri.Ast.Contract.CliRouteParameterReaderContract' as const;
|
|
13
|
+
static readonly ComponentProviderReaderContract = 'Sindri.Ast.Contract.ComponentProviderReaderContract' as const;
|
|
14
|
+
static readonly ConfigReaderContract = 'Sindri.Ast.Contract.ConfigReaderContract' as const;
|
|
15
|
+
static readonly HttpRouteAttributeReaderContract = 'Sindri.Ast.Contract.HttpRouteAttributeReaderContract' as const;
|
|
16
|
+
static readonly HttpRouteMiddlewareReaderContract =
|
|
17
|
+
'Sindri.Ast.Contract.HttpRouteMiddlewareReaderContract' as const;
|
|
18
|
+
static readonly HttpRouteParameterReaderContract = 'Sindri.Ast.Contract.HttpRouteParameterReaderContract' as const;
|
|
19
|
+
static readonly ListenerAttributeReaderContract = 'Sindri.Ast.Contract.ListenerAttributeReaderContract' as const;
|
|
20
|
+
static readonly ListenerProviderReaderContract = 'Sindri.Ast.Contract.ListenerProviderReaderContract' as const;
|
|
21
|
+
static readonly RouteProviderReaderContract = 'Sindri.Ast.Contract.RouteProviderReaderContract' as const;
|
|
22
|
+
static readonly ServiceProviderReaderContract = 'Sindri.Ast.Contract.ServiceProviderReaderContract' as const;
|
|
23
|
+
static readonly CliDataFileGeneratorContract =
|
|
24
|
+
'Sindri.Generator.Cli.Contract.CliDataFileGeneratorContract' as const;
|
|
25
|
+
static readonly ContainerDataFileGeneratorContract =
|
|
26
|
+
'Sindri.Generator.Container.Contract.ContainerDataFileGeneratorContract' as const;
|
|
27
|
+
static readonly EventDataFileGeneratorContract =
|
|
28
|
+
'Sindri.Generator.Event.Contract.EventDataFileGeneratorContract' as const;
|
|
29
|
+
static readonly HttpDataFileGeneratorContract =
|
|
30
|
+
'Sindri.Generator.Http.Contract.HttpDataFileGeneratorContract' as const;
|
|
31
|
+
static readonly GenerateDataFromConfigCommand = 'Sindri.Cli.Command.GenerateDataFromConfigCommand' as const;
|
|
32
|
+
}
|