restfuncs-transformer 1.0.0 → 1.1.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/AddRemoteMethodsMeta.ts +244 -166
- package/devPlayground.ts +2 -12
- package/{AddRemoteMethodsMeta.d.ts → dist/commonjs/AddRemoteMethodsMeta.d.ts} +24 -6
- package/dist/commonjs/AddRemoteMethodsMeta.d.ts.map +1 -0
- package/dist/commonjs/AddRemoteMethodsMeta.js +348 -0
- package/dist/commonjs/AddRemoteMethodsMeta.js.map +1 -0
- package/dist/commonjs/devPlayground.d.ts +3 -0
- package/dist/commonjs/devPlayground.d.ts.map +1 -0
- package/dist/commonjs/devPlayground.js +3 -0
- package/dist/commonjs/devPlayground.js.map +1 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/{index.js → dist/commonjs/index.js} +43 -7
- package/dist/commonjs/index.js.map +1 -0
- package/{transformerUtil.d.ts → dist/commonjs/transformerUtil.d.ts} +10 -0
- package/dist/commonjs/transformerUtil.d.ts.map +1 -0
- package/{transformerUtil.js → dist/commonjs/transformerUtil.js} +23 -1
- package/dist/commonjs/transformerUtil.js.map +1 -0
- package/dist/commonjs/transformerUtil.test.d.ts +2 -0
- package/dist/commonjs/transformerUtil.test.d.ts.map +1 -0
- package/dist/commonjs/transformerUtil.test.js +11 -0
- package/dist/commonjs/transformerUtil.test.js.map +1 -0
- package/index.ts +23 -7
- package/package.json +8 -4
- package/readme.md +37 -9
- package/transformerUtil.test.ts +12 -0
- package/transformerUtil.ts +23 -0
- package/AddRemoteMethodsMeta.d.ts.map +0 -1
- package/AddRemoteMethodsMeta.js +0 -221
- package/AddRemoteMethodsMeta.js.map +0 -1
- package/devPlayground.d.ts +0 -2
- package/devPlayground.d.ts.map +0 -1
- package/devPlayground.js +0 -31
- package/devPlayground.js.map +0 -1
- package/index.d.ts.map +0 -1
- package/index.js.map +0 -1
- package/transformerUtil.d.ts.map +0 -1
- package/transformerUtil.js.map +0 -1
- /package/{index.d.ts → dist/commonjs/index.d.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "restfuncs-transformer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Enhances your classes with typescript-rtti, to make them usable with Restfuncs",
|
|
5
5
|
"keywords": ["rpc","rest"],
|
|
6
6
|
"author": "Boris Gingold <bogeee@bogitech.de>",
|
|
@@ -13,21 +13,25 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"clean": "tsc --build --clean && rimraf dist LICENSE",
|
|
15
15
|
"build": "tsc --build",
|
|
16
|
+
"test": "npm run build && jest --runInBand --testPathIgnorePatterns=\".*\\.ts\" --testNamePattern=\".*\"",
|
|
16
17
|
"dev:playgrund": "tsx devPlayground.ts"
|
|
17
18
|
},
|
|
18
19
|
"exports": {
|
|
19
20
|
".": {
|
|
20
|
-
"default": "./index.js"
|
|
21
|
+
"default": "./dist/commonjs/index.js"
|
|
21
22
|
}
|
|
22
23
|
},
|
|
23
24
|
"dependencies": {
|
|
24
|
-
"typescript": "5.0 || 5.1 || 5.3"
|
|
25
|
+
"typescript": "5.0 || 5.1 || 5.3",
|
|
26
|
+
"restfuncs-common": "^3.1.0"
|
|
25
27
|
},
|
|
26
28
|
"peerDependencies": {
|
|
27
29
|
"restfuncs-server": ">=2"
|
|
28
30
|
},
|
|
29
31
|
"devDependencies": {
|
|
30
32
|
"@types/ts-expose-internals": "npm:ts-expose-internals@5.3.3",
|
|
31
|
-
"rimraf": "=5.0.5"
|
|
33
|
+
"rimraf": "=5.0.5",
|
|
34
|
+
"ts-jest": "^29.0.3",
|
|
35
|
+
"@types/jest": "^29.2.2"
|
|
32
36
|
}
|
|
33
37
|
}
|
package/readme.md
CHANGED
|
@@ -4,30 +4,56 @@ This transformer prepares `ServerSession` subclasses for Typia and adds jsDoc in
|
|
|
4
4
|
## Usage
|
|
5
5
|
[Here's how to use it](https://github.com/bogeeee/restfuncs/tree/3.x/readme.md#setting-up-the-build-here-it-gets-a-bit-nasty-)
|
|
6
6
|
|
|
7
|
+
## Debugging parameters
|
|
8
|
+
Insert these into the `{ "transform": "restfuncs-transformer", ...}` block.
|
|
9
|
+
- debug: Set to true to dump the output of transformed **and affected** files each into a file named ...after_restfuncs-transformer.tmp
|
|
10
|
+
- pretty: Pretty print the output (normally it is squeezed into one line to preserve line numbers and keep source maps intact)
|
|
11
|
+
|
|
7
12
|
|
|
8
13
|
## How the transformer chain works
|
|
9
14
|
Here is, how the restfuncs-transformer, typia transformer and typescript-rtti work together:
|
|
10
|
-
1. The `restfuncs-transformer` scans for all `@remote` methods and, at the bottom of inside their class, it adds the following code (here for
|
|
15
|
+
1. The `restfuncs-transformer` scans for all `@remote` methods and, at the bottom of inside their class, it adds the following code (here for):
|
|
11
16
|
````typescript
|
|
17
|
+
@remote
|
|
18
|
+
async myMethod(param1: string, someCallbackFn: (p:number) => Promise<string>);
|
|
19
|
+
````
|
|
20
|
+
|
|
21
|
+
results in adding this to the class body:
|
|
12
22
|
|
|
23
|
+
````typescript
|
|
24
|
+
import _rf_typia from "typia";
|
|
13
25
|
/**
|
|
14
26
|
* Code is generated by the restfuncs-transformer during compile-time
|
|
15
27
|
*/
|
|
16
28
|
static getRemoteMethodsMeta(): (typeof this.type_remoteMethodsMeta) {
|
|
17
|
-
this.__hello_developer__make_sure_your_class_is_a_subclass_of_ServerSession //
|
|
18
|
-
|
|
19
|
-
|
|
29
|
+
this.__hello_developer__make_sure_your_class_is_a_subclass_of_ServerSession // Attempt to give a friendly error message when this is not the case. Otherwise the previous line would fail and leaves the user wondering.
|
|
30
|
+
type CallbackPlaceholder<DECL_INDEX extends number> = string & _rf_typia.tags.TagBase<{kind: "callbackFn", target: "string", value: DECL_INDEX, validate: `onValidateCallbackArg($input, ${DECL_INDEX})`}>; // Create a [custom tag](https://typia.io/docs/validators/tags/#customization), that can be used via `CallbackPlaceholder<n>`. During validation, this tag then calls onValidateCallbackArg.
|
|
31
|
+
const result= {
|
|
20
32
|
transformerVersion: {major: XX, feature: XX },
|
|
21
33
|
instanceMethods: {
|
|
22
34
|
"myMethod": {
|
|
23
35
|
arguments: {
|
|
24
|
-
validateEquals: (args: unknown) =>
|
|
25
|
-
validatePrune:
|
|
26
|
-
|
|
36
|
+
validateEquals: (args: unknown) => _rf_typia.validateEquals<[param1: string, someCallback: (p:number) => Promise<string>]>(args),
|
|
37
|
+
validatePrune: ...,
|
|
38
|
+
withPlaceholders: {
|
|
39
|
+
validateEquals: (args: unknown, onValidateCallbackArg: (placeholderId: string, declarationIndex: number) => boolean) => _rf_typia.validateEquals<[param1: string, someCallback: CallbackPlaceholder<0>]>(args),
|
|
40
|
+
...
|
|
41
|
+
}
|
|
42
|
+
},
|
|
27
43
|
result: {
|
|
28
|
-
validateEquals: (value: unknown) =>
|
|
44
|
+
validateEquals: (value: unknown) => _rf_typia.validateEquals<Awaited<ReturnType<typeof this.prototype["myMethod"]>>>(value),
|
|
29
45
|
...
|
|
30
46
|
},
|
|
47
|
+
callbacks: [{ // here for the `someCallbackFn: (p:number) => Promise<string>` declaration
|
|
48
|
+
arguments: {
|
|
49
|
+
validateEquals: (args: unknown) => _rf_typia.validateEquals<[p: number]>(args),
|
|
50
|
+
validatePrune: ...
|
|
51
|
+
},
|
|
52
|
+
awaitedResult: {
|
|
53
|
+
validateEquals: (value: unknown) => _rf_typia.validateEquals<string>(value),
|
|
54
|
+
...
|
|
55
|
+
}
|
|
56
|
+
}],
|
|
31
57
|
jsDoc: {
|
|
32
58
|
comment: "text with <strong>markup</strong>",
|
|
33
59
|
params: {a: "text..."},
|
|
@@ -35,7 +61,9 @@ static getRemoteMethodsMeta(): (typeof this.type_remoteMethodsMeta) {
|
|
|
35
61
|
}
|
|
36
62
|
}
|
|
37
63
|
}
|
|
38
|
-
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
return result; // Code style note for this line: Why not do `return {...}` directly ? This tiny difference allows for extra properties which ensure backward compatibility with older "restfuncs-server" packages.
|
|
39
67
|
}
|
|
40
68
|
````
|
|
41
69
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {TextPatch} from "./transformerUtil";
|
|
2
|
+
|
|
3
|
+
jest.setTimeout(60 * 60 * 1000); // Increase timeout to 1h to make debugging possible
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
test('TextPatch', () => {
|
|
7
|
+
const content='abc><de><fg'
|
|
8
|
+
const patch = new TextPatch();
|
|
9
|
+
patch.patches = [{position: 4, contentToInsert: "_insert1_"}, {position: 8, contentToInsert: "_insert2_"}];
|
|
10
|
+
expect(patch.applyPatches(content)).toBe('abc>_insert1_<de>_insert2_<fg');
|
|
11
|
+
});
|
|
12
|
+
|
package/transformerUtil.ts
CHANGED
|
@@ -101,4 +101,27 @@ export abstract class FileTransformRun {
|
|
|
101
101
|
}
|
|
102
102
|
return identifierNode.getText();
|
|
103
103
|
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export class TextPatch {
|
|
107
|
+
/**
|
|
108
|
+
* character index (not byte index) => content to insert
|
|
109
|
+
*/
|
|
110
|
+
patches: {position: number, contentToInsert: string}[] = [];
|
|
111
|
+
applyPatches(content: string) {
|
|
112
|
+
this.patches.sort((a,b) => a.position - b.position);
|
|
113
|
+
let result = "";
|
|
114
|
+
let emittedTil = 0;
|
|
115
|
+
for(const patch of this.patches) {
|
|
116
|
+
// emit the stuff before the patch
|
|
117
|
+
result+=content.slice(emittedTil, patch.position);
|
|
118
|
+
emittedTil = patch.position;
|
|
119
|
+
|
|
120
|
+
result+=patch.contentToInsert;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
result+= content.slice(emittedTil);// emit the rest
|
|
124
|
+
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
104
127
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AddRemoteMethodsMeta.d.ts","sourceRoot":"","sources":["AddRemoteMethodsMeta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAEP,iBAAiB,EACjB,IAAI,EACJ,uBAAuB,EAG1B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAInD;;;;;;;GAOG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IAEtD,0CAA0C,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzD,gCAAgC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC3E,cAAc,UAAS;IAGvB,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAyDvB;;;;;;;;;;;;;;;OAeG;IACH,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM;IAkHtE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,qBAAqB;IA+E7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,6CAA6C;CA8ExD"}
|
package/AddRemoteMethodsMeta.js
DELETED
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.AddRemoteMethodsMeta = void 0;
|
|
27
|
-
const typescript_1 = __importStar(require("typescript"));
|
|
28
|
-
const transformerUtil_1 = require("./transformerUtil");
|
|
29
|
-
const index_1 = require("./index");
|
|
30
|
-
/**
|
|
31
|
-
* Transformer that adds the following statement to the method body (like in readme.md#how-it-works)
|
|
32
|
-
* <code><pre>
|
|
33
|
-
* static getRemoteMethodsMeta() {
|
|
34
|
-
* ....
|
|
35
|
-
* }
|
|
36
|
-
* </pre></code>
|
|
37
|
-
*/
|
|
38
|
-
class AddRemoteMethodsMeta extends transformerUtil_1.FileTransformRun {
|
|
39
|
-
constructor() {
|
|
40
|
-
super(...arguments);
|
|
41
|
-
this.astWasModified = false;
|
|
42
|
-
}
|
|
43
|
-
/* Visitor Function */
|
|
44
|
-
visit(node) {
|
|
45
|
-
var _a;
|
|
46
|
-
if (node.kind === typescript_1.SyntaxKind.MethodDeclaration) { // @remote ?
|
|
47
|
-
const methodDeclaration = node;
|
|
48
|
-
if (this.getChilds(methodDeclaration).some(n => n.kind == typescript_1.SyntaxKind.StaticKeyword)) { // static ?
|
|
49
|
-
return node;
|
|
50
|
-
}
|
|
51
|
-
if (this.getParent().kind !== typescript_1.SyntaxKind.ClassDeclaration) { // Method not under a class (i.e. an anonymous object ?}
|
|
52
|
-
return node;
|
|
53
|
-
}
|
|
54
|
-
const methodName = methodDeclaration.name.escapedText;
|
|
55
|
-
try {
|
|
56
|
-
let remoteDecorator = this.getChilds(methodDeclaration).find(d => d.kind === typescript_1.SyntaxKind.Decorator);
|
|
57
|
-
if (!remoteDecorator) { // no @remote found ?
|
|
58
|
-
return node;
|
|
59
|
-
}
|
|
60
|
-
// Diagnosis: Check for overloads:
|
|
61
|
-
if ((_a = this.diagnosis_currentClass_instanceMethodsSeen) === null || _a === void 0 ? void 0 : _a.has(methodName)) { // Seen twice ?
|
|
62
|
-
throw new Error(`@remote methods cannot have multiple/overloaded signatures: ${methodName}`); // TODO: add diagnosis
|
|
63
|
-
}
|
|
64
|
-
this.currentClass_instanceMethodsMeta[methodName] = this.createMethodMetaExpression(methodDeclaration, methodName); // create the code:
|
|
65
|
-
}
|
|
66
|
-
finally {
|
|
67
|
-
this.diagnosis_currentClass_instanceMethodsSeen.add(methodName);
|
|
68
|
-
}
|
|
69
|
-
return node;
|
|
70
|
-
}
|
|
71
|
-
else if (node.kind === typescript_1.SyntaxKind.ClassDeclaration) {
|
|
72
|
-
this.diagnosis_currentClass_instanceMethodsSeen = new Set();
|
|
73
|
-
this.currentClass_instanceMethodsMeta = {};
|
|
74
|
-
try {
|
|
75
|
-
let result = this.visitChilds(node);
|
|
76
|
-
if (Object.keys(this.currentClass_instanceMethodsMeta).length > 0) { // Current class has @remote methods ?
|
|
77
|
-
// add "static getRemoteMethodsMeta() {...}" method:
|
|
78
|
-
// @ts-ignore yes, a bit hacky, but with factory.crateClassDeclation we might also miss some properties
|
|
79
|
-
result.members = this.context.factory.createNodeArray([...result.members.values(), this.create_static_getRemoteMethodsMeta_expression()]);
|
|
80
|
-
this.astWasModified = true;
|
|
81
|
-
}
|
|
82
|
-
return result;
|
|
83
|
-
}
|
|
84
|
-
finally {
|
|
85
|
-
this.currentClass_instanceMethodsMeta = undefined;
|
|
86
|
-
this.diagnosis_currentClass_instanceMethodsSeen = undefined;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
return this.visitChilds(node);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Crates the following expression like in readme.md#how-it-works
|
|
95
|
-
* <code><pre>
|
|
96
|
-
* {
|
|
97
|
-
* arguments: {
|
|
98
|
-
* ...
|
|
99
|
-
* }
|
|
100
|
-
* jsDoc: {
|
|
101
|
-
* ...
|
|
102
|
-
* }
|
|
103
|
-
* }
|
|
104
|
-
* </pre></code>
|
|
105
|
-
*
|
|
106
|
-
* @param methodName
|
|
107
|
-
* @private
|
|
108
|
-
*/
|
|
109
|
-
createMethodMetaExpression(node, methodName) {
|
|
110
|
-
const factory = this.context.factory;
|
|
111
|
-
const arguments_typiaFuncs = {
|
|
112
|
-
/**
|
|
113
|
-
* typia.validateEquals
|
|
114
|
-
*/
|
|
115
|
-
validateEquals: factory.createPropertyAccessExpression(factory.createIdentifier("typia"), factory.createIdentifier("validateEquals")),
|
|
116
|
-
"validatePrune": factory.createPropertyAccessExpression(factory.createPropertyAccessExpression(factory.createIdentifier("typia"), factory.createIdentifier("misc")), factory.createIdentifier("validatePrune"))
|
|
117
|
-
};
|
|
118
|
-
const result_typiaFuncs = Object.assign({}, arguments_typiaFuncs);
|
|
119
|
-
// Example from readme.md#how-it-works Copy&pasted through the [AST viewer tool](https://ts-ast-viewer.com/)
|
|
120
|
-
// @ts-ignore
|
|
121
|
-
return factory.createObjectLiteralExpression([
|
|
122
|
-
// arguments: {...}
|
|
123
|
-
factory.createPropertyAssignment(factory.createIdentifier("arguments"), factory.createObjectLiteralExpression(Object.keys(arguments_typiaFuncs).map((typiaFnName) => factory.createPropertyAssignment(factory.createIdentifier(typiaFnName), factory.createArrowFunction(undefined, undefined, [factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier("args"), undefined, factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword), undefined)], undefined, factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), factory.createCallExpression(arguments_typiaFuncs[typiaFnName], [factory.createTypeReferenceNode(factory.createIdentifier("Parameters"), [factory.createIndexedAccessTypeNode(factory.createTypeQueryNode(factory.createQualifiedName(factory.createIdentifier("this"), factory.createIdentifier("prototype")), undefined), factory.createLiteralTypeNode(factory.createStringLiteral(methodName)))])], [factory.createIdentifier("args")])))), true)),
|
|
124
|
-
// result: {...}
|
|
125
|
-
factory.createPropertyAssignment(factory.createIdentifier("result"), factory.createObjectLiteralExpression(Object.keys(result_typiaFuncs).map((typiaFnName) => factory.createPropertyAssignment(factory.createIdentifier(typiaFnName), factory.createArrowFunction(undefined, undefined, [factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier("value"), undefined, factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword), undefined)], undefined, factory.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken), factory.createCallExpression(arguments_typiaFuncs[typiaFnName], [factory.createTypeReferenceNode(factory.createIdentifier("Awaited"), [factory.createTypeReferenceNode(factory.createIdentifier("ReturnType"), [factory.createIndexedAccessTypeNode(factory.createTypeQueryNode(factory.createQualifiedName(factory.createIdentifier("this"), factory.createIdentifier("prototype")), undefined), factory.createLiteralTypeNode(factory.createStringLiteral(methodName)))])])], [factory.createIdentifier("value")])))), true)),
|
|
126
|
-
factory.createPropertyAssignment(factory.createIdentifier("jsDoc"), this.createJsDocExpression(node, methodName))
|
|
127
|
-
], true);
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Crates the following expression like in readme.md#how-it-works
|
|
131
|
-
* <code><pre>
|
|
132
|
-
* {
|
|
133
|
-
* comment: "...",
|
|
134
|
-
* params: {...},
|
|
135
|
-
* ...
|
|
136
|
-
* }
|
|
137
|
-
* </pre></code>
|
|
138
|
-
*
|
|
139
|
-
* or
|
|
140
|
-
*
|
|
141
|
-
* <code><pre>
|
|
142
|
-
* undefined
|
|
143
|
-
* </pre></code>
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
* @param methodName
|
|
147
|
-
* @private
|
|
148
|
-
*/
|
|
149
|
-
createJsDocExpression(node, diagnosis_methodName) {
|
|
150
|
-
var _a;
|
|
151
|
-
const factory = this.context.factory;
|
|
152
|
-
if (!node.jsDoc || node.jsDoc.length == 0) { // no jsdoc
|
|
153
|
-
return factory.createIdentifier("undefined");
|
|
154
|
-
}
|
|
155
|
-
const jsdoc = node.jsDoc[node.jsDoc.length - 1]; // use last jsDoc
|
|
156
|
-
const comment = jsdoc.comment || "";
|
|
157
|
-
if (typeof comment !== "string") {
|
|
158
|
-
throw new Error(`Expected comment to be a string. Got: ${comment}`); // TODO add to diagnostics instead
|
|
159
|
-
}
|
|
160
|
-
// Collect params and tags
|
|
161
|
-
const params = {};
|
|
162
|
-
const tags = [];
|
|
163
|
-
(_a = jsdoc.tags) === null || _a === void 0 ? void 0 : _a.forEach(tag => {
|
|
164
|
-
var _a;
|
|
165
|
-
const name = tag.tagName.escapedText.toLowerCase();
|
|
166
|
-
const comment = tag.comment;
|
|
167
|
-
if (comment && typeof comment !== "string") {
|
|
168
|
-
throw new Error(`Expected comment to be a string. Got: ${comment}`); // TODO add to diagnostics instead
|
|
169
|
-
}
|
|
170
|
-
if (name === "param") {
|
|
171
|
-
const paramname = (_a = tag.name) === null || _a === void 0 ? void 0 : _a.escapedText;
|
|
172
|
-
if (paramname && comment) {
|
|
173
|
-
params[paramname] = comment;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
const tagName = tag.name;
|
|
178
|
-
tags.push({ name, comment });
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
// JSDoc. Example from readme.md#how-it-works Copy&pasted through the [AST viewer tool](https://ts-ast-viewer.com/)
|
|
182
|
-
let jsDocExpression = factory.createObjectLiteralExpression([
|
|
183
|
-
factory.createPropertyAssignment(factory.createIdentifier("comment"), factory.createStringLiteral(comment)),
|
|
184
|
-
factory.createPropertyAssignment(factory.createIdentifier("params"), factory.createObjectLiteralExpression(Object.keys(params).map(paramName => factory.createPropertyAssignment(factory.createIdentifier(paramName), factory.createStringLiteral(params[paramName]))), false)),
|
|
185
|
-
factory.createPropertyAssignment(factory.createIdentifier("tags"), factory.createArrayLiteralExpression(tags.map(tag => factory.createObjectLiteralExpression([
|
|
186
|
-
factory.createPropertyAssignment(factory.createIdentifier("name"), factory.createStringLiteral(tag.name)),
|
|
187
|
-
factory.createPropertyAssignment(factory.createIdentifier("comment"), tag.comment !== undefined ? factory.createStringLiteral(tag.comment) : factory.createIdentifier("undefined"))
|
|
188
|
-
], false)), false))
|
|
189
|
-
], true);
|
|
190
|
-
return jsDocExpression;
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Crates the following expression like in readme.md#how-it-works
|
|
194
|
-
* <code><pre>
|
|
195
|
-
* static getRemoteMethodsMeta() {
|
|
196
|
-
* ....
|
|
197
|
-
* }
|
|
198
|
-
* </pre></code>
|
|
199
|
-
*
|
|
200
|
-
* @param methodName
|
|
201
|
-
* @private
|
|
202
|
-
*/
|
|
203
|
-
create_static_getRemoteMethodsMeta_expression() {
|
|
204
|
-
const factory = this.context.factory;
|
|
205
|
-
let instanceMethods = factory.createObjectLiteralExpression(Object.keys(this.currentClass_instanceMethodsMeta).map(methodName => factory.createPropertyAssignment(factory.createStringLiteral(methodName), this.currentClass_instanceMethodsMeta[methodName])), true);
|
|
206
|
-
// Example from readme.md#how-it-works Copy&pasted through the [AST viewer tool](https://ts-ast-viewer.com/)
|
|
207
|
-
return factory.createMethodDeclaration([factory.createToken(typescript_1.default.SyntaxKind.StaticKeyword)], undefined, factory.createIdentifier("getRemoteMethodsMeta"), undefined, undefined, [], factory.createParenthesizedType(factory.createTypeQueryNode(factory.createQualifiedName(factory.createIdentifier("this"), factory.createIdentifier("type_remoteMethodsMeta")), undefined)), factory.createBlock([
|
|
208
|
-
factory.createExpressionStatement(factory.createPropertyAccessExpression(factory.createThis(), factory.createIdentifier("__hello_developer__make_sure_your_class_is_a_subclass_of_ServerSession"))),
|
|
209
|
-
factory.createVariableStatement(undefined, factory.createVariableDeclarationList([factory.createVariableDeclaration(factory.createIdentifier("typia"), undefined, undefined, factory.createPropertyAccessExpression(factory.createThis(), factory.createIdentifier("typiaRuntime")))], typescript_1.default.NodeFlags.Let)),
|
|
210
|
-
factory.createReturnStatement(factory.createObjectLiteralExpression([
|
|
211
|
-
factory.createPropertyAssignment(factory.createIdentifier("transformerVersion"), factory.createObjectLiteralExpression([
|
|
212
|
-
factory.createPropertyAssignment(factory.createIdentifier("major"), factory.createIdentifier(`${index_1.transformerVersion.major}`)),
|
|
213
|
-
factory.createPropertyAssignment(factory.createIdentifier("feature"), factory.createIdentifier(`${index_1.transformerVersion.feature}`))
|
|
214
|
-
], false)),
|
|
215
|
-
factory.createPropertyAssignment(factory.createIdentifier("instanceMethods"), instanceMethods)
|
|
216
|
-
], true))
|
|
217
|
-
], true));
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
exports.AddRemoteMethodsMeta = AddRemoteMethodsMeta;
|
|
221
|
-
//# sourceMappingURL=AddRemoteMethodsMeta.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AddRemoteMethodsMeta.js","sourceRoot":"","sources":["AddRemoteMethodsMeta.ts"],"names":[],"mappings":"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"}
|
package/devPlayground.d.ts
DELETED
package/devPlayground.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devPlayground.d.ts","sourceRoot":"","sources":["devPlayground.ts"],"names":[],"mappings":""}
|
package/devPlayground.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const ts = __importStar(require("typescript"));
|
|
27
|
-
const typescript_1 = require("typescript");
|
|
28
|
-
var ScriptKind = ts.ScriptKind;
|
|
29
|
-
let sourceFile = ts.createSourceFile("dev/some.ts", "const i:string = 'myStr';", typescript_1.ScriptTarget.ES2020, false, ScriptKind.JS);
|
|
30
|
-
let i = undefined;
|
|
31
|
-
//# sourceMappingURL=devPlayground.js.map
|
package/devPlayground.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devPlayground.js","sourceRoot":"","sources":["devPlayground.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,2CAAwC;AACxC,IAAO,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;AAGlC,IAAI,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAC,2BAA2B,EAAE,yBAAY,CAAC,MAAM,EAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;AAS1H,IAAI,CAAC,GAA2B,SAAS,CAAA"}
|
package/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAW,EAAC,YAAY,EAAmB,OAAO,EAAa,MAAM,YAAY,CAAC;AAClF,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAC,MAAM,UAAU,CAAC;AAMhE,eAAO,MAAM,kBAAkB;;;CAA2B,CAAA;AAwC1D,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACpC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,wBAAwB,GAClC,OAAO,CAkCT"}
|
package/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
package/transformerUtil.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transformerUtil.d.ts","sourceRoot":"","sources":["transformerUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAC,IAAI,EAAE,UAAU,EAAc,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,YAAY,CAAC;AAEvG,KAAK,OAAO,CAAC,CAAC,IAAI;IACd,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CACzB,CAAA;AAED;;GAEG;AACH,qBAAa,qBAAqB,CAAC,EAAE,SAAS,gBAAgB;IAC1D,iBAAiB,EAAE,EAAE,EAAE,CAAK;IAC5B,qBAAqB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAGrC,uBAAuB,EAAE,OAAO,CAAC,EAAE,CAAC;IAIhD;;OAEG;IACH,IAAI,UAAU,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAQ/C;CACJ;AAED;;GAEG;AACH,8BAAsB,gBAAgB;IAClC,UAAU,EAAE,OAAO,EAAE,CAAC;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,WAAW,EAAE,IAAI,EAAE,CAAK;IACxB,IAAI,UAAS;gBAED,UAAU,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB;IAOzF,SAAS,gBAEP;IAEF;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAGhC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI;IAWhC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAK3B,SAAS,CAAC,IAAI,EAAE,IAAI;IAMpB;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,UAAQ;CAUhD"}
|
package/transformerUtil.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transformerUtil.js","sourceRoot":"","sources":["transformerUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAuG;AAMvG;;GAEG;AACH,MAAa,qBAAqB;IAK9B,YAAY,uBAAoC;QAJhD,sBAAiB,GAAS,EAAE,CAAA;QAKxB,IAAI,CAAC,qBAAqB,GAAG,uBAAuB,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,CAAC,OAA8B,EAAE,EAAE;YACtC,OAAO,CAAC,UAAsB,EAAc,EAAE;gBAC1C,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAAC,oBAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBAChF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAqB,CAAC,CAAC;gBACnD,OAAO,oBAAE,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACzF,CAAC,CAAA;QACL,CAAC,CAAA;IACL,CAAC;CACJ;AArBD,sDAqBC;AAED;;GAEG;AACH,MAAsB,gBAAgB;IAOlC,YAAY,UAAqB,EAAE,UAAsB,EAAE,OAA8B;QAHzF,gBAAW,GAAW,EAAE,CAAA;QACxB,SAAI,GAAG,KAAK,CAAC;QASb,cAAS,GAAG,GAAG,EAAE;YACb,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QARE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAeS,WAAW,CAAC,IAAU;QAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI;YACA,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACzF;gBAAS;YACN,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1B;IACL,CAAC;IAID;;;OAGG;IACH,OAAO,CAAC,IAAU;QACd,aAAa;QACb,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,IAAU;QAChB,IAAI,MAAM,GAAW,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,OAAO,MAAM,CAAA;IACjB,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,IAAU,EAAE,OAAO,GAAG,KAAK;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,uBAAU,CAAC,UAAU,CAAC,CAAC;QAC/F,IAAG,CAAC,cAAc,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;SAC/C;QACD,IAAG,OAAO,EAAE;YACR,OAAQ,cAAsB,CAAC,WAAW,CAAC;SAC9C;QACD,OAAO,cAAc,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;CACJ;AApED,4CAoEC"}
|
|
File without changes
|