@goodie-ts/decorators 0.4.0 → 0.5.2

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.
@@ -22,12 +22,18 @@ export declare const META: {
22
22
  type MetadataObject = DecoratorMetadataObject | Record<PropertyKey, unknown>;
23
23
  /**
24
24
  * Set a single metadata value on the decorator context metadata object.
25
+ *
26
+ * No-ops when `metadata` is undefined (e.g. Node < 22 where Symbol.metadata
27
+ * is not available). Decorator metadata is read at compile time by the
28
+ * transformer, not at runtime.
25
29
  */
26
- export declare function setMeta(metadata: MetadataObject, key: symbol, value: unknown): void;
30
+ export declare function setMeta(metadata: MetadataObject | undefined, key: symbol, value: unknown): void;
27
31
  /**
28
32
  * Push a value onto an array stored under `key`. Creates the array if needed.
33
+ *
34
+ * No-ops when `metadata` is undefined (same rationale as `setMeta`).
29
35
  */
30
- export declare function pushMeta(metadata: MetadataObject, key: symbol, value: unknown): void;
36
+ export declare function pushMeta(metadata: MetadataObject | undefined, key: symbol, value: unknown): void;
31
37
  /**
32
38
  * Read the metadata object stashed on a class by Stage 3 decorators.
33
39
  * Returns `undefined` if no decorators have run on the class.
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,0DAA0D;AAC1D,eAAO,MAAM,IAAI;;;;;;;;;;;;CAYP,CAAC;AAEX,KAAK,cAAc,GAAG,uBAAuB,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAE7E;;GAEG;AACH,wBAAgB,OAAO,CACrB,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,IAAI,CAIN;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GACxC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,SAAS,CAI1C"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,0DAA0D;AAC1D,eAAO,MAAM,IAAI;;;;;;;;;;;;CAYP,CAAC;AAEX,KAAK,cAAc,GAAG,uBAAuB,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAE7E;;;;;;GAMG;AACH,wBAAgB,OAAO,CACrB,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,IAAI,CAGN;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,IAAI,CAKN;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GACxC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,SAAS,CAI1C"}
package/dist/metadata.js CHANGED
@@ -21,14 +21,24 @@ export const META = {
21
21
  };
22
22
  /**
23
23
  * Set a single metadata value on the decorator context metadata object.
24
+ *
25
+ * No-ops when `metadata` is undefined (e.g. Node < 22 where Symbol.metadata
26
+ * is not available). Decorator metadata is read at compile time by the
27
+ * transformer, not at runtime.
24
28
  */
25
29
  export function setMeta(metadata, key, value) {
30
+ if (!metadata)
31
+ return;
26
32
  metadata[key] = value;
27
33
  }
28
34
  /**
29
35
  * Push a value onto an array stored under `key`. Creates the array if needed.
36
+ *
37
+ * No-ops when `metadata` is undefined (same rationale as `setMeta`).
30
38
  */
31
39
  export function pushMeta(metadata, key, value) {
40
+ if (!metadata)
41
+ return;
32
42
  const arr = metadata[key] ?? [];
33
43
  arr.push(value);
34
44
  metadata[key] = arr;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,0DAA0D;AAC1D,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC,oBAAoB,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC,uBAAuB,CAAC;IAC/C,cAAc,EAAE,MAAM,CAAC,uBAAuB,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;CACrB,CAAC;AAIX;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,QAAwB,EACxB,GAAW,EACX,KAAc;IAEd,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,QAAwB,EACxB,GAAW,EACX,KAAc;IAEd,MAAM,GAAG,GAAI,QAAQ,CAAC,GAAG,CAAe,IAAI,EAAE,CAAC;IAC/C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAyC;IAEzC,OACE,GACD,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,0DAA0D;AAC1D,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC,oBAAoB,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC,uBAAuB,CAAC;IAC/C,cAAc,EAAE,MAAM,CAAC,uBAAuB,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;CACrB,CAAC;AAIX;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CACrB,QAAoC,EACpC,GAAW,EACX,KAAc;IAEd,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CACtB,QAAoC,EACpC,GAAW,EACX,KAAc;IAEd,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,GAAG,GAAI,QAAQ,CAAC,GAAG,CAAe,IAAI,EAAE,CAAC;IAC/C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAyC;IAEzC,OACE,GACD,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goodie-ts/decorators",
3
- "version": "0.4.0",
3
+ "version": "0.5.2",
4
4
  "description": "Stage 3 decorators for goodie-ts compile-time dependency injection",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -21,7 +21,7 @@
21
21
  }
22
22
  },
23
23
  "dependencies": {
24
- "@goodie-ts/core": "0.4.0"
24
+ "@goodie-ts/core": "^0.5.2"
25
25
  },
26
26
  "files": [
27
27
  "dist"