const require_rolldown_runtime = require('../../../../../../../_virtual/rolldown_runtime.js');
const require_storage$1 = require('../storage.js');

//#region ../../node_modules/.pnpm/class-transformer@0.5.1/node_modules/class-transformer/cjs/decorators/expose.decorator.js
var require_expose_decorator = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/.pnpm/class-transformer@0.5.1/node_modules/class-transformer/cjs/decorators/expose.decorator.js": ((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const storage_1 = require_storage$1.require_storage();
	/**
	* Marks the given class or property as included. By default the property is included in both
	* constructorToPlain and plainToConstructor transformations. It can be limited to only one direction
	* via using the `toPlainOnly` or `toClassOnly` option.
	*
	* Can be applied to class definitions and properties.
	*/
	function Expose(options = {}) {
		/**
		* NOTE: The `propertyName` property must be marked as optional because
		* this decorator used both as a class and a property decorator and the
		* Typescript compiler will freak out if we make it mandatory as a class
		* decorator only receives one parameter.
		*/
		return function(object, propertyName) {
			storage_1.defaultMetadataStorage.addExposeMetadata({
				target: object instanceof Function ? object : object.constructor,
				propertyName,
				options
			});
		};
	}
	exports.Expose = Expose;
}) });

//#endregion
Object.defineProperty(exports, 'default', {
  enumerable: true,
  get: function () {
    return require_expose_decorator();
  }
});