@aenode/prop 0.0.1

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.
package/README.md ADDED
@@ -0,0 +1,33 @@
1
+ ![Version](https://img.shields.io/npm/v/@aenode/prop) ![Downloads](https://img.shields.io/npm/dm/@aenode/prop) ![Status](https://img.shields.io/github/actions/workflow/status/aenode/aenode/ci.yml) ![Size](https://img.shields.io/bundlephobia/min/@aenode/prop)
2
+
3
+
4
+ <p align="center">
5
+ <img src="https://aenode.github.io/aenode/modules/prop/assets/favicon.svg" alt="App logo" height="128" width="128" style="border-radius: 32px;" />
6
+ </p>
7
+
8
+ ## @aenode/prop
9
+
10
+ Nestjs/Graphql data transfer object property decorators
11
+
12
+
13
+ ## Install
14
+
15
+ ```sh
16
+ pnpm add @aenode/prop
17
+ ```
18
+
19
+ ## đź’– Support My Work
20
+
21
+ If you find my open-source contributions or the **@aenode/prop** project helpful, consider supporting my work. Your sponsorship helps me maintain these projects and explore new enterprise patterns.
22
+
23
+ [![FundMe](https://img.shields.io/badge/Sponsor%20me-%23EA4AAA.svg?style=for-the-badge&logo=github-sponsors&logoColor=white)](https://cash.app/$puqlib)
24
+
25
+ ---
26
+
27
+ ## 🤝 Connect with Me
28
+
29
+ <p align="left">
30
+ <a href="mailto:aenode+aenode+prop@proton.me">
31
+ <img src="https://img.shields.io/badge/Email-D14836?style=for-the-badge&logo=proton&logoColor=white" />
32
+ </a>
33
+ </p>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 -960 960 960" width="48px" fill="#5985E1"><path d="M180-180h560v-173q0-9 4.5-16t12.5-11l24-11q19-8 30.5-27t11.5-40q0-21.43-11.5-39.72Q800-516 781-525l-24-11q-8.13-3.75-12.57-10.88Q740-554 740-563v-177H564q-10.66 0-18.83-7-8.17-7-10.17-18.33L530-791q-5-27-24.67-45.5-19.68-18.5-45.91-18.5Q432-855 412-836.5T387-791l-5 25.67Q380-754 371.83-747q-8.17 7-18.83 7H181v110q55 20 89 66.78t34 105.5q0 59.72-34 107.22T180-287v107Zm11 60q-29 0-50-21t-21-51v-121q0-8 5-13t13-7q45-9 75.5-43.08T244-458q0-48.03-30-82.52Q184-575 139-583q-8-2-13-7t-5-13v-126q0-30 20.5-50.5T192-800h136q6.63-48.88 43.58-81.94Q408.53-915 458.74-915q49.26 0 86.45 33.06Q582.37-848.88 590-800h139q30 0 50.5 20.5T800-729v147q38 18 60.5 49.5T883-458q0 43-22.5 75T800-334v142q0 30-20.5 51T729-120H191Zm311-338Z"/></svg>
@@ -0,0 +1,4 @@
1
+ export * from './input-type.js';
2
+ export * from './object-type.js';
3
+ export * from './prop.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graphql/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
@@ -0,0 +1,6 @@
1
+ // @index(['./**/*.ts', '!./**/*.spec.ts'], f => `export * from '${f.path}.js'`)
2
+ export * from './input-type.js';
3
+ export * from './object-type.js';
4
+ export * from './prop.js';
5
+
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/graphql/index.ts"],"sourcesContent":["// @index(['./**/*.ts', '!./**/*.spec.ts'], f => `export * from '${f.path}.js'`)\nexport * from './input-type.js';\nexport * from './object-type.js';\nexport * from './prop.js';\n"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,YAAY"}
@@ -0,0 +1,2 @@
1
+ export declare function InputType(): ClassDecorator;
2
+ //# sourceMappingURL=input-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-type.d.ts","sourceRoot":"","sources":["../../src/graphql/input-type.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,IAAI,cAAc,CAI1C"}
@@ -0,0 +1,8 @@
1
+ import { InputType as __InputType } from '@nestjs/graphql';
2
+ export function InputType() {
3
+ return (...args)=>{
4
+ __InputType()(...args);
5
+ };
6
+ }
7
+
8
+ //# sourceMappingURL=input-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/graphql/input-type.ts"],"sourcesContent":["import { InputType as __InputType } from '@nestjs/graphql';\n\nexport function InputType(): ClassDecorator {\n return (...args) => {\n __InputType()(...args);\n };\n}\n"],"names":["InputType","__InputType","args"],"mappings":"AAAA,SAASA,aAAaC,WAAW,QAAQ,kBAAkB;AAE3D,OAAO,SAASD;IACd,OAAO,CAAC,GAAGE;QACTD,iBAAiBC;IACnB;AACF"}
@@ -0,0 +1,2 @@
1
+ export declare function ObjectType(): ClassDecorator;
2
+ //# sourceMappingURL=object-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-type.d.ts","sourceRoot":"","sources":["../../src/graphql/object-type.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,IAAI,cAAc,CAI3C"}
@@ -0,0 +1,8 @@
1
+ import { ObjectType as __ObjectType } from '@nestjs/graphql';
2
+ export function ObjectType() {
3
+ return (...args)=>{
4
+ __ObjectType()(...args);
5
+ };
6
+ }
7
+
8
+ //# sourceMappingURL=object-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/graphql/object-type.ts"],"sourcesContent":["import { ObjectType as __ObjectType } from '@nestjs/graphql';\n\nexport function ObjectType(): ClassDecorator {\n return (...args) => {\n __ObjectType()(...args);\n };\n}\n"],"names":["ObjectType","__ObjectType","args"],"mappings":"AAAA,SAASA,cAAcC,YAAY,QAAQ,kBAAkB;AAE7D,OAAO,SAASD;IACd,OAAO,CAAC,GAAGE;QACTD,kBAAkBC;IACpB;AACF"}
@@ -0,0 +1,9 @@
1
+ import { type PropValidationOptions } from '@aenode/prop-validation';
2
+ /**
3
+ * Graphql field property
4
+ *
5
+ * @param options
6
+ * @returns
7
+ */
8
+ export declare function Prop(options?: PropValidationOptions): PropertyDecorator;
9
+ //# sourceMappingURL=prop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prop.d.ts","sourceRoot":"","sources":["../../src/graphql/prop.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAIjC;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,qBAA0B,GAAG,iBAAiB,CAQ3E"}
@@ -0,0 +1,19 @@
1
+ import { PropValidation } from '@aenode/prop-validation';
2
+ import { getPropertyType } from '@aenode/reflect';
3
+ import { Field } from '@nestjs/graphql';
4
+ /**
5
+ * Graphql field property
6
+ *
7
+ * @param options
8
+ * @returns
9
+ */ export function Prop(options = {}) {
10
+ return (...args)=>{
11
+ const required = options.isRequired === true;
12
+ PropValidation(options)(...args);
13
+ Field(()=>getPropertyType(args[0], args[1]), {
14
+ nullable: required === false
15
+ })(...args);
16
+ };
17
+ }
18
+
19
+ //# sourceMappingURL=prop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/graphql/prop.ts"],"sourcesContent":["import {\n PropValidation,\n type PropValidationOptions,\n} from '@aenode/prop-validation';\nimport { getPropertyType } from '@aenode/reflect';\nimport { Field } from '@nestjs/graphql';\n\n/**\n * Graphql field property\n *\n * @param options\n * @returns\n */\nexport function Prop(options: PropValidationOptions = {}): PropertyDecorator {\n return (...args) => {\n const required = options.isRequired === true;\n PropValidation(options)(...args);\n Field(() => getPropertyType(args[0], args[1]), {\n nullable: required === false,\n })(...args);\n };\n}\n"],"names":["PropValidation","getPropertyType","Field","Prop","options","args","required","isRequired","nullable"],"mappings":"AAAA,SACEA,cAAc,QAET,0BAA0B;AACjC,SAASC,eAAe,QAAQ,kBAAkB;AAClD,SAASC,KAAK,QAAQ,kBAAkB;AAExC;;;;;CAKC,GACD,OAAO,SAASC,KAAKC,UAAiC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAGC;QACT,MAAMC,WAAWF,QAAQG,UAAU,KAAK;QACxCP,eAAeI,YAAYC;QAC3BH,MAAM,IAAMD,gBAAgBI,IAAI,CAAC,EAAE,EAAEA,IAAI,CAAC,EAAE,GAAG;YAC7CG,UAAUF,aAAa;QACzB,MAAMD;IACR;AACF"}
@@ -0,0 +1,2 @@
1
+ export * from './restapi/index.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ // @index(['./restapi/index.ts', '!./**/*.spec.ts'], f => `export * from '${f.path}.js'`)
2
+ export * from './restapi/index.js';
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// @index(['./restapi/index.ts', '!./**/*.spec.ts'], f => `export * from '${f.path}.js'`)\nexport * from './restapi/index.js';\n"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,cAAc,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ export * from './prop.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/restapi/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './prop.js';
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/restapi/index.ts"],"sourcesContent":["export * from './prop.js';\n"],"names":[],"mappings":"AAAA,cAAc,YAAY"}
@@ -0,0 +1,3 @@
1
+ import { type PropValidationOptions } from '@aenode/prop-validation';
2
+ export declare function Prop(options?: PropValidationOptions): PropertyDecorator;
3
+ //# sourceMappingURL=prop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prop.d.ts","sourceRoot":"","sources":["../../src/restapi/prop.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAIjC,wBAAgB,IAAI,CAAC,OAAO,GAAE,qBAA0B,GAAG,iBAAiB,CAK3E"}
@@ -0,0 +1,11 @@
1
+ import { PropValidation } from '@aenode/prop-validation';
2
+ import { ApiProperty } from '@nestjs/swagger';
3
+ import { toApiPropertyOptions } from './to-api-property-options.js';
4
+ export function Prop(options = {}) {
5
+ return (...args)=>{
6
+ PropValidation(options)(...args);
7
+ ApiProperty(toApiPropertyOptions(options))(...args);
8
+ };
9
+ }
10
+
11
+ //# sourceMappingURL=prop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/restapi/prop.ts"],"sourcesContent":["import {\n PropValidation,\n type PropValidationOptions,\n} from '@aenode/prop-validation';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { toApiPropertyOptions } from './to-api-property-options.js';\n\nexport function Prop(options: PropValidationOptions = {}): PropertyDecorator {\n return (...args) => {\n PropValidation(options)(...args);\n ApiProperty(toApiPropertyOptions(options))(...args);\n };\n}\n"],"names":["PropValidation","ApiProperty","toApiPropertyOptions","Prop","options","args"],"mappings":"AAAA,SACEA,cAAc,QAET,0BAA0B;AACjC,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,SAASC,oBAAoB,QAAQ,+BAA+B;AAEpE,OAAO,SAASC,KAAKC,UAAiC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAGC;QACTL,eAAeI,YAAYC;QAC3BJ,YAAYC,qBAAqBE,aAAaC;IAChD;AACF"}
@@ -0,0 +1,4 @@
1
+ import { type PropValidationOptions } from '@aenode/prop-validation';
2
+ import { type ApiPropertyOptions } from '@nestjs/swagger';
3
+ export declare function toApiPropertyOptions(options: PropValidationOptions): ApiPropertyOptions;
4
+ //# sourceMappingURL=to-api-property-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-api-property-options.d.ts","sourceRoot":"","sources":["../../src/restapi/to-api-property-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAC7B,kBAAkB,CAkBpB"}
@@ -0,0 +1,20 @@
1
+ export function toApiPropertyOptions(options) {
2
+ const required = options.isRequired === true;
3
+ return {
4
+ type: options.type,
5
+ required,
6
+ nullable: required === false,
7
+ minLength: options.minLength,
8
+ maxLength: options.maxLength,
9
+ maximum: options.max,
10
+ minimum: options.min,
11
+ format: options.format,
12
+ default: options.defaultValue,
13
+ pattern: options.pattern,
14
+ maxItems: options.maxItems,
15
+ minItems: options.minItems,
16
+ description: options.description
17
+ };
18
+ }
19
+
20
+ //# sourceMappingURL=to-api-property-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/restapi/to-api-property-options.ts"],"sourcesContent":["import { type PropValidationOptions } from '@aenode/prop-validation';\nimport { type ApiPropertyOptions } from '@nestjs/swagger';\n\nexport function toApiPropertyOptions(\n options: PropValidationOptions,\n): ApiPropertyOptions {\n const required = options.isRequired === true;\n\n return {\n type: options.type,\n required,\n nullable: required === false,\n minLength: options.minLength,\n maxLength: options.maxLength,\n maximum: options.max,\n minimum: options.min,\n format: options.format,\n default: options.defaultValue,\n pattern: options.pattern,\n maxItems: options.maxItems,\n minItems: options.minItems,\n description: options.description,\n };\n}\n"],"names":["toApiPropertyOptions","options","required","isRequired","type","nullable","minLength","maxLength","maximum","max","minimum","min","format","default","defaultValue","pattern","maxItems","minItems","description"],"mappings":"AAGA,OAAO,SAASA,qBACdC,OAA8B;IAE9B,MAAMC,WAAWD,QAAQE,UAAU,KAAK;IAExC,OAAO;QACLC,MAAMH,QAAQG,IAAI;QAClBF;QACAG,UAAUH,aAAa;QACvBI,WAAWL,QAAQK,SAAS;QAC5BC,WAAWN,QAAQM,SAAS;QAC5BC,SAASP,QAAQQ,GAAG;QACpBC,SAAST,QAAQU,GAAG;QACpBC,QAAQX,QAAQW,MAAM;QACtBC,SAASZ,QAAQa,YAAY;QAC7BC,SAASd,QAAQc,OAAO;QACxBC,UAAUf,QAAQe,QAAQ;QAC1BC,UAAUhB,QAAQgB,QAAQ;QAC1BC,aAAajB,QAAQiB,WAAW;IAClC;AACF"}
package/license ADDED
@@ -0,0 +1,70 @@
1
+ # AESYS COMMERCIAL SOFTWARE LICENSE AGREEMENT
2
+
3
+ **Version 1.0**
4
+
5
+ **IMPORTANT — READ CAREFULLY:** This Commercial Software License Agreement ("Agreement") is a legally binding contract between the Licensor ("Licensor", "Author", or "We") and the individual or legal entity purchasing or acquiring a license ("Licensee" or "You") for the software, libraries, modules, source code, and associated documentation collectively known as **AESYS** (the "Software").
6
+
7
+ By downloading, installing, copying, accessing, or otherwise using the Software, You agree to be bound by the terms of this Agreement. If You do not agree to the terms of this Agreement, do not download, install, copy, or use the Software.
8
+
9
+ ---
10
+
11
+ ### 1. GRANT OF LICENSE
12
+
13
+ Subject to the terms and conditions of this Agreement and the full payment of any applicable license fees, Licensor grants Licensee a non-exclusive, non-transferable, non-sublicensable, worldwide right to:
14
+
15
+ 1. Install, execute, and use the Software libraries and modules to build, test, and deploy software applications, services, or internal platforms ("Derived Products").
16
+ 2. Modify, adapt, or extend the source code of the Software solely for incorporation into Licensee's Derived Products.
17
+
18
+ ---
19
+
20
+ ### 2. RESTRICTIONS AND PROHIBITED USES
21
+
22
+ Except as expressly authorized in Section 1, Licensee shall **NOT**:
23
+
24
+ 1. **No Open-Source or Free Distribution:** Redistribute, publish, sub-license, rent, lease, convey, or otherwise make the Software—or any portion, modification, or derivative work thereof—available under any open-source, freeware, or copyleft license (including but not limited to MIT, Apache, GPL, AGPL, or BSD).
25
+ 2. **No Direct Resale or Competition:** Sell, resell, license, sublicense, redistribute, or host the Software (or modified versions of the Software) as a standalone product, component library, module suite, SDK, SaaS framework, or starter kit that directly competes with the Software.
26
+ 3. **No Source Code Exposure:** Expose, distribute, or leak the original or modified source code of the Software to any third party, public repository, or unauthorized entity.
27
+ 4. **No Reverse Engineering of Proprietary Assets:** Reverse engineer, decompile, or disassemble any compiled binaries or obfuscated assets provided with the Software, except to the extent permitted by applicable mandatory law.
28
+ 5. **No Removal of Notices:** Remove, alter, or obscure any copyright, trademark, or proprietary rights notices contained in or on the Software.
29
+
30
+ ---
31
+
32
+ ### 3. INTELLECTUAL PROPERTY RIGHTS
33
+
34
+ 1. **Ownership:** The Software, including all code, structure, architecture, design, documentation, and intellectual property rights therein, remains the exclusive property of the Licensor.
35
+ 2. **No Transfer of Title:** This Agreement is a license for use, not a sale of the Software. No title to or ownership of the Software (or any intellectual property rights therein) is transferred to Licensee.
36
+ 3. **Derived Works:** Any modifications, enhancements, or derivative works created by Licensee based on the Software remain subject to the terms of this Agreement and may not be extracted or distributed independently of Licensee’s permitted Derived Products.
37
+
38
+ ---
39
+
40
+ ### 4. FEES AND AUDIT RIGHTS
41
+
42
+ 1. **Payment:** Access to and right to use the Software is conditioned upon full payment of the applicable commercial license fees established by the Licensor.
43
+ 2. **Verification:** Licensor reserves the right to request reasonable proof or documentation from Licensee to audit compliance with the terms of this Agreement.
44
+
45
+ ---
46
+
47
+ ### 5. TERMINATION
48
+
49
+ 1. **Termination for Cause:** This Agreement and the license granted hereunder will terminate immediately and automatically without notice from Licensor if Licensee breaches any provision of this Agreement.
50
+ 2. **Effect of Termination:** Upon termination, Licensee must immediately cease all use, deployment, and distribution of the Software and permanently delete and destroy all copies of the Software in Licensee's possession or control. Sections 2, 3, 6, 7, and 8 shall survive termination.
51
+
52
+ ---
53
+
54
+ ### 6. NO WARRANTY (DISCLAIMER)
55
+
56
+ THE SOFTWARE IS PROVIDED **"AS IS"**, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT. IN NO EVENT SHALL THE LICENSOR OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
57
+
58
+ ---
59
+
60
+ ### 7. LIMITATION OF LIABILITY
61
+
62
+ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, OR ANY LOSS OF PROFITS, REVENUE, DATA, OR USE INCURRED BY LICENSEE OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. LICENSOR’S AGGREGATE LIABILITY UNDER THIS AGREEMENT SHALL NOT EXCEED THE TOTAL LICENSE FEES PAID BY LICENSEE FOR THE SOFTWARE IN THE TWELVE (12) MONTHS PRECEDING THE CLAIM.
63
+
64
+ ---
65
+
66
+ ### 8. GENERAL PROVISIONS
67
+
68
+ 1. **Governing Law:** This Agreement shall be governed by and construed in accordance with applicable laws, without regard to its conflict of law principles.
69
+ 2. **Severability:** If any provision of this Agreement is held to be invalid or unenforceable, that provision shall be enforced to the maximum extent permissible, and the remaining provisions shall remain in full force and effect.
70
+ 3. **Entire Agreement:** This Agreement constitutes the entire agreement between the parties with respect to the Software and supersedes all prior or contemporaneous understandings regarding such subject matter.
package/package.json ADDED
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "@aenode/prop",
3
+ "version": "0.0.1",
4
+ "description": "Nestjs/Graphql data transfer object property decorators",
5
+ "keywords": [
6
+ "types"
7
+ ],
8
+ "license": "BSL-1.0",
9
+ "author": {
10
+ "email": "aenode+aenode+prop@proton.me",
11
+ "name": "Ahmet Emrebas",
12
+ "url": "https://aenode.github.io"
13
+ },
14
+ "homepage": "https://aenode.github.io/aenode/modules/prop",
15
+ "funding": [
16
+ "https://cash.app/$puqlib"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public",
20
+ "tag": "latest"
21
+ },
22
+ "type": "module",
23
+ "main": "./dist/index.js",
24
+ "module": "./dist/index.js",
25
+ "types": "./dist/index.d.ts",
26
+ "exports": {
27
+ "./package.json": "./package.json",
28
+ ".": {
29
+ "@aenode/source": "./src/index.ts",
30
+ "types": "./dist/index.d.ts",
31
+ "import": "./dist/index.js",
32
+ "default": "./dist/index.js"
33
+ },
34
+ "./restapi": {
35
+ "types": "./dist/restapi/index.d.ts",
36
+ "import": "./dist/restapi/index.js",
37
+ "default": "./dist/restapi/index.js"
38
+ },
39
+ "./graphql": {
40
+ "types": "./dist/graphql/index.d.ts",
41
+ "import": "./dist/graphql/index.js",
42
+ "default": "./dist/graphql/index.js"
43
+ }
44
+ },
45
+ "files": [
46
+ "dist",
47
+ "assets",
48
+ "bin",
49
+ "!**/*.tsbuildinfo"
50
+ ],
51
+ "nx": {
52
+ "sourceRoot": "modules/prop/src",
53
+ "tags": [
54
+ "lib:module"
55
+ ],
56
+ "targets": {
57
+ "build": {},
58
+ "lint": {},
59
+ "doc": {}
60
+ }
61
+ },
62
+ "dependencies": {
63
+ "@swc/helpers": "~0.5.18"
64
+ },
65
+ "devDependencies": {
66
+ "@nestjs/common": "^11.2.1",
67
+ "@nestjs/graphql": "^13.4.5",
68
+ "@nestjs/swagger": "^11.4.7",
69
+ "@aenode/prop-validation": "0.0.6",
70
+ "@aenode/reflect": "0.0.6",
71
+ "@aenode/types": "0.0.6"
72
+ },
73
+ "peerDependencies": {
74
+ "@nestjs/graphql": "^13.4.5",
75
+ "@nestjs/swagger": "^11.4.7",
76
+ "@aenode/prop-validation": "0.0.6",
77
+ "@aenode/reflect": "0.0.6"
78
+ }
79
+ }