@cocojs/typescript-transformer-autowired 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/dist/index.js +39 -22
  2. package/package.json +11 -4
package/dist/index.js CHANGED
@@ -1,6 +1,39 @@
1
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var ts = require("typescript");
36
+ const ts = __importStar(require("typescript"));
4
37
  function transformer(program) {
5
38
  return function (context) {
6
39
  return function (sourceFile) {
@@ -8,42 +41,26 @@ function transformer(program) {
8
41
  // 检查是否是属性声明节点
9
42
  if (ts.isPropertyDeclaration(node)) {
10
43
  // 遍历修饰符(包括装饰器)
11
- const decorators = (node.modifiers || []).map(modifier => {
44
+ const decorators = (node.modifiers || []).map((modifier) => {
12
45
  // 检查是否是装饰器
13
46
  if (ts.isDecorator(modifier)) {
14
47
  const decoratorExpression = modifier.expression;
15
48
  // 检查是否是装饰器调用(如 @a())
16
49
  if (ts.isCallExpression(decoratorExpression) &&
17
- ts.isIdentifier(decoratorExpression.expression) &&
18
- decoratorExpression.expression.text === 'autowired') {
50
+ ts.isIdentifier(decoratorExpression.expression) &&
51
+ (decoratorExpression.expression.text === 'autowired' || decoratorExpression.expression.text === 'reactiveAutowired')) {
19
52
  // 获取属性的类型
20
53
  const type = node.type ? node.type.getText(sourceFile) : 'unknown';
21
54
  // 创建类型字符串字面量节点
22
55
  const typeNode = ts.factory.createIdentifier(type);
23
56
  // 修改装饰器调用,将类型作为参数传递
24
- return ts.factory.updateDecorator(
25
- modifier,
26
- ts.factory.updateCallExpression(
27
- decoratorExpression,
28
- decoratorExpression.expression,
29
- undefined,
30
- [typeNode]
31
- )
32
- );
57
+ return ts.factory.updateDecorator(modifier, ts.factory.updateCallExpression(decoratorExpression, decoratorExpression.expression, undefined, [typeNode]));
33
58
  }
34
59
  }
35
60
  return modifier;
36
61
  });
37
-
38
62
  // 更新属性声明节点
39
- return ts.factory.updatePropertyDeclaration(
40
- node,
41
- decorators,
42
- node.name,
43
- node.questionToken,
44
- node.type,
45
- node.initializer
46
- );
63
+ return ts.factory.updatePropertyDeclaration(node, decorators, node.name, node.questionToken, node.type, node.initializer);
47
64
  }
48
65
  return ts.visitEachChild(node, visit, context);
49
66
  }
package/package.json CHANGED
@@ -1,15 +1,22 @@
1
1
  {
2
2
  "name": "@cocojs/typescript-transformer-autowired",
3
- "version": "0.0.1",
4
- "description": "",
3
+ "version": "0.0.3",
4
+ "description": "补充autowired装饰器的参数",
5
5
  "main": "dist/index.js",
6
6
  "files": [
7
7
  "dist"
8
8
  ],
9
9
  "scripts": {
10
+ "build": "tsc",
10
11
  "test": "echo \"Error: no test specified\" && exit 1"
11
12
  },
12
13
  "keywords": [],
13
- "author": "",
14
- "license": "ISC"
14
+ "author": "jiangchenguang",
15
+ "license": "MIT",
16
+ "devDependencies": {
17
+ "typescript": "^5.7.3"
18
+ },
19
+ "peerDependencies": {
20
+ "typescript": "^5.7.3"
21
+ }
15
22
  }