@@ -68,6 +68,60 @@ describe('import-tslib', () => {
68
68
expect ( tags . oneLine `${ transform ( input ) } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
69
69
} ) ;
70
70
71
+ it ( 'replaces multiple __decorate' , ( ) => {
72
+ // tslint:disable:max-line-length
73
+ const input = tags . stripIndent `
74
+ var __decorate$1 = (this && this.__decorate) || function (decorators, target, key, desc) {
75
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
76
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
77
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
78
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
79
+ };
80
+ var __decorate$2 = (this && this.__decorate) || function (decorators, target, key, desc) {
81
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
82
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
83
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
84
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
85
+ };
86
+ ` ;
87
+ const output = tags . stripIndent `
88
+ import { __decorate as __decorate$1 } from "tslib";
89
+ import { __decorate as __decorate$2 } from "tslib";
90
+ ` ;
91
+
92
+ expect ( testImportTslib ( input ) ) . toBeTruthy ( ) ;
93
+ expect ( tags . oneLine `${ transform ( input ) } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
94
+ } ) ;
95
+
96
+ it ( 'replaces multiple __decorate in CJS modules' , ( ) => {
97
+ // tslint:disable:max-line-length
98
+ const input = tags . stripIndent `
99
+ var __decorate$1 = (this && this.__decorate) || function (decorators, target, key, desc) {
100
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
101
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
102
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
103
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
104
+ };
105
+ var __decorate$2 = (this && this.__decorate) || function (decorators, target, key, desc) {
106
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
107
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
108
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
109
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
110
+ };
111
+
112
+ exports.meaning = 42;
113
+ ` ;
114
+ const output = tags . stripIndent `
115
+ var __decorate$1 = /*@__PURE__*/ require("tslib").__decorate;
116
+ var __decorate$2 = /*@__PURE__*/ require("tslib").__decorate;
117
+
118
+ exports.meaning = 42;
119
+ ` ;
120
+
121
+ expect ( testImportTslib ( input ) ) . toBeTruthy ( ) ;
122
+ expect ( tags . oneLine `${ transform ( input ) } ` ) . toEqual ( tags . oneLine `${ output } ` ) ;
123
+ } ) ;
124
+
71
125
it ( 'replaces __metadata' , ( ) => {
72
126
const input = tags . stripIndent `
73
127
var __metadata = (this && this.__metadata) || function (k, v) {
0 commit comments