diff options
author | 2023-09-20 08:10:03 -0700 | |
---|---|---|
committer | 2023-09-20 08:10:03 -0700 | |
commit | 689b28455c943897a3d286271e6f182afb17848f (patch) | |
tree | 470132b70476e7ead623b4945ebaa72c27dfe839 /src/runtime.js | |
parent | 4439f1615571f3558704a7b48cfa84273be4221d (diff) | |
download | bun-689b28455c943897a3d286271e6f182afb17848f.tar.gz bun-689b28455c943897a3d286271e6f182afb17848f.tar.zst bun-689b28455c943897a3d286271e6f182afb17848f.zip |
add `emitDecoratorMetadata` (#5777)
* some progess
* needs more tests
* make tests easier to debug
* get metadata for constructor arg decorators
* fix some things
* merge `emitDecoratorMetadata` option
* remove `^`
* bundler tests and get option from tsconfig earlier
* remove spaces
* fix tests
Diffstat (limited to 'src/runtime.js')
-rw-r--r-- | src/runtime.js | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/runtime.js b/src/runtime.js index 41242637b..fb1d5e70e 100644 --- a/src/runtime.js +++ b/src/runtime.js @@ -250,15 +250,23 @@ export var __merge = (props, defaultProps) => { : mergeDefaultProps(props, defaultProps); }; -export var __decorateClass = (decorators, target, key, kind) => { - var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target; - for (var i = decorators.length - 1, decorator; i >= 0; i--) - if ((decorator = decorators[i])) result = (kind ? decorator(target, key, result) : decorator(result)) || result; - if (kind && result) __defProp(target, key, result); - return result; +export var __legacyDecorateClassTS = function (decorators, target, key, desc) { + var c = arguments.length, + r = c < 3 ? target : desc === null ? (desc = Object.getOwnPropertyDescriptor(target, key)) : desc, + d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") + r = Reflect.decorate(decorators, target, key, desc); + 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; + return c > 3 && r && Object.defineProperty(target, key, r), r; }; -export var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index); +export var __legacyDecorateParamTS = (index, decorator) => (target, key) => decorator(target, key, index); + +export var __legacyMetadataTS = (k, v) => { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; export var __esm = (fn, res) => () => (fn && (res = fn((fn = 0))), res); |