prisma-effect-kysely 1.6.1 → 1.7.0
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/CHANGELOG.md +30 -0
- package/README.md +31 -13
- package/dist/effect/enum.d.ts.map +1 -1
- package/dist/effect/enum.js +30 -7
- package/dist/effect/enum.js.map +1 -1
- package/dist/effect/generator.d.ts.map +1 -1
- package/dist/effect/generator.js +6 -8
- package/dist/effect/generator.js.map +1 -1
- package/dist/effect/type.js +3 -3
- package/dist/effect/type.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,36 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.7.0] - 2025-10-12
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **CRITICAL: TypeScript TS7022 Compilation Error**: Fixed circular reference errors in generated enum code that prevented TypeScript compilation
|
|
13
|
+
- v1.6.0-v1.6.1 used namespace merging pattern that caused unavoidable TS7022 errors: `'Schema' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer`
|
|
14
|
+
- Reverted to proven v1.5.3 suffix pattern (`RoleSchema`, `RoleType`) which compiles without errors
|
|
15
|
+
- Tests were masking the compilation failures by only checking string patterns, never actually running TypeScript compiler on generated code
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- **BREAKING: Reverted to Suffix Pattern for Enums**
|
|
20
|
+
- Enum exports now use suffix pattern instead of namespace pattern from v1.6.x
|
|
21
|
+
- **Before (v1.6.x - broken)**: `Role.Schema`, `Role.Type`
|
|
22
|
+
- **After (v1.7.0 - working)**: `RoleSchema`, `RoleType`
|
|
23
|
+
- This ensures generated code compiles with TypeScript strict mode without errors
|
|
24
|
+
- **Migration from v1.6.x**:
|
|
25
|
+
- `Role.Schema` → `RoleSchema`
|
|
26
|
+
- `Role.Type` → `RoleType`
|
|
27
|
+
- `Status.Schema` → `StatusSchema`
|
|
28
|
+
- `Status.Type` → `StatusType`
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- **JSDoc Documentation**: All generated enum exports now include comprehensive JSDoc comments
|
|
33
|
+
- Self-documenting code with `@see` references between related exports
|
|
34
|
+
- Clear `@example` tags showing how to use Effect Schema validation
|
|
35
|
+
- Generated TypeScript type unions documented inline (e.g., `'ADMIN' | 'USER' | 'GUEST'`)
|
|
36
|
+
- Improves IDE IntelliSense and developer experience
|
|
37
|
+
|
|
8
38
|
## [1.6.1] - 2025-10-12
|
|
9
39
|
|
|
10
40
|
### Fixed
|
package/README.md
CHANGED
|
@@ -43,24 +43,39 @@ Generates three files in the configured output directory:
|
|
|
43
43
|
|
|
44
44
|
### enums.ts
|
|
45
45
|
|
|
46
|
-
Native TypeScript enums with Effect Schema
|
|
46
|
+
Native TypeScript enums with Effect Schema validators and comprehensive JSDoc:
|
|
47
47
|
|
|
48
48
|
```typescript
|
|
49
|
+
/**
|
|
50
|
+
* UserRole enum from Prisma schema.
|
|
51
|
+
* @see {@link UserRoleSchema} for Effect Schema validation
|
|
52
|
+
* @see {@link UserRoleType} for TypeScript type
|
|
53
|
+
*/
|
|
49
54
|
export enum UserRole {
|
|
50
55
|
ADMIN = "ADMIN",
|
|
51
56
|
USER = "USER",
|
|
52
57
|
GUEST = "GUEST"
|
|
53
58
|
}
|
|
54
59
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Effect Schema validator for UserRole enum.
|
|
62
|
+
* Validates that a value is a valid UserRole enum member.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* const validated = Schema.decodeSync(UserRoleSchema)("ADMIN");
|
|
66
|
+
*/
|
|
67
|
+
export const UserRoleSchema = Schema.Enums(UserRole);
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* TypeScript type for UserRole enum values.
|
|
71
|
+
* Equivalent to: 'ADMIN' | 'USER' | 'GUEST'
|
|
72
|
+
*/
|
|
73
|
+
export type UserRoleType = Schema.Schema.Type<typeof UserRoleSchema>;
|
|
59
74
|
|
|
60
75
|
// Usage:
|
|
61
76
|
// - Access enum values: UserRole.ADMIN, UserRole.USER
|
|
62
|
-
// - Access Effect Schema:
|
|
63
|
-
// - Access TypeScript type:
|
|
77
|
+
// - Access Effect Schema: UserRoleSchema
|
|
78
|
+
// - Access TypeScript type: UserRoleType
|
|
64
79
|
```
|
|
65
80
|
|
|
66
81
|
### types.ts
|
|
@@ -73,7 +88,7 @@ export const _User = Schema.Struct({
|
|
|
73
88
|
id: columnType(Schema.UUID, Schema.Never, Schema.Never), // Read-only ID
|
|
74
89
|
email: Schema.String,
|
|
75
90
|
name: Schema.Union(Schema.String, Schema.Undefined), // Optional field
|
|
76
|
-
role:
|
|
91
|
+
role: UserRoleSchema,
|
|
77
92
|
createdAt: generated(Schema.Date), // Generated field
|
|
78
93
|
});
|
|
79
94
|
|
|
@@ -125,11 +140,14 @@ The generator uses TypeScript namespaces to organize generated code while preser
|
|
|
125
140
|
|
|
126
141
|
**For Enums:**
|
|
127
142
|
```typescript
|
|
128
|
-
|
|
129
|
-
export
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
143
|
+
// Native TypeScript enum preserving Prisma schema naming
|
|
144
|
+
export enum ACTIVE_STATUS { ACTIVE, INACTIVE }
|
|
145
|
+
|
|
146
|
+
// Effect Schema validator with suffix pattern
|
|
147
|
+
export const ACTIVE_STATUSSchema = Schema.Enums(ACTIVE_STATUS);
|
|
148
|
+
|
|
149
|
+
// TypeScript type export
|
|
150
|
+
export type ACTIVE_STATUSType = Schema.Schema.Type<typeof ACTIVE_STATUSSchema>;
|
|
133
151
|
```
|
|
134
152
|
|
|
135
153
|
**For Models:**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/effect/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAKrD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/effect/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAKrD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,UA8C7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,aAAa,EAAE,UAMrE"}
|
package/dist/effect/enum.js
CHANGED
|
@@ -17,6 +17,8 @@ const codegen_1 = require("../utils/codegen");
|
|
|
17
17
|
function generateEnumSchema(enumDef) {
|
|
18
18
|
// Preserve original enum name from Prisma schema
|
|
19
19
|
const enumName = enumDef.name;
|
|
20
|
+
const schemaName = `${enumName}Schema`;
|
|
21
|
+
const typeName = `${enumName}Type`;
|
|
20
22
|
// Generate native TypeScript enum members
|
|
21
23
|
const enumMembers = enumDef.values
|
|
22
24
|
.map((v) => {
|
|
@@ -24,22 +26,43 @@ function generateEnumSchema(enumDef) {
|
|
|
24
26
|
return ` ${v.name} = "${value}"`;
|
|
25
27
|
})
|
|
26
28
|
.join(",\n");
|
|
27
|
-
//
|
|
28
|
-
|
|
29
|
+
// Get first enum value for example
|
|
30
|
+
const firstValue = enumDef.values[0]?.name || 'VALUE';
|
|
31
|
+
// Get enum values as type union for JSDoc
|
|
32
|
+
const enumValueUnion = enumDef.values
|
|
33
|
+
.map(v => `'${(0, enum_1.getEnumValueDbName)(v)}'`)
|
|
34
|
+
.join(' | ');
|
|
35
|
+
// Generate: enum + Schema.Enums() wrapper + type with JSDoc
|
|
36
|
+
return `/**
|
|
37
|
+
* ${enumName} enum from Prisma schema.
|
|
38
|
+
* @see {@link ${schemaName}} for Effect Schema validation
|
|
39
|
+
* @see {@link ${typeName}} for TypeScript type
|
|
40
|
+
*/
|
|
41
|
+
export enum ${enumName} {
|
|
29
42
|
${enumMembers}
|
|
30
43
|
}
|
|
31
44
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Effect Schema validator for ${enumName} enum.
|
|
47
|
+
* Validates that a value is a valid ${enumName} enum member.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* const validated = Schema.decodeSync(${schemaName})("${firstValue}");
|
|
51
|
+
*/
|
|
52
|
+
export const ${schemaName} = Schema.Enums(${enumName});
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* TypeScript type for ${enumName} enum values.
|
|
56
|
+
* Equivalent to: ${enumValueUnion}
|
|
57
|
+
*/
|
|
58
|
+
export type ${typeName} = Schema.Schema.Type<typeof ${schemaName}>;`;
|
|
36
59
|
}
|
|
37
60
|
/**
|
|
38
61
|
* Generate all enum schemas as a single file content
|
|
39
62
|
*/
|
|
40
63
|
function generateEnumsFile(enums) {
|
|
41
64
|
const header = (0, codegen_1.generateFileHeader)();
|
|
42
|
-
const imports = `import
|
|
65
|
+
const imports = `import { Schema } from "effect";`;
|
|
43
66
|
const enumSchemas = enums.map(generateEnumSchema).join("\n\n");
|
|
44
67
|
return `${header}\n\n${imports}\n\n${enumSchemas}`;
|
|
45
68
|
}
|
package/dist/effect/enum.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../src/effect/enum.ts"],"names":[],"mappings":";;AAeA,
|
|
1
|
+
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../src/effect/enum.ts"],"names":[],"mappings":";;AAeA,gDA8CC;AAKD,8CAMC;AAvED,yCAAoD;AAEpD,8CAAsD;AAEtD;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAAC,OAA2B;IAC5D,iDAAiD;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9B,MAAM,UAAU,GAAG,GAAG,QAAQ,QAAQ,CAAC;IACvC,MAAM,QAAQ,GAAG,GAAG,QAAQ,MAAM,CAAC;IAEnC,0CAA0C;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,KAAK,GAAG,IAAA,yBAAkB,EAAC,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,GAAG,CAAC;IACpC,CAAC,CAAC;SACD,IAAI,CAAC,KAAK,CAAC,CAAC;IAEf,mCAAmC;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC;IAEtD,0CAA0C;IAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAA,yBAAkB,EAAC,CAAC,CAAC,GAAG,CAAC;SACtC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEf,4DAA4D;IAC5D,OAAO;KACJ,QAAQ;iBACI,UAAU;iBACV,QAAQ;;cAEX,QAAQ;EACpB,WAAW;;;;iCAIoB,QAAQ;uCACF,QAAQ;;;yCAGN,UAAU,MAAM,UAAU;;eAEpD,UAAU,mBAAmB,QAAQ;;;yBAG3B,QAAQ;oBACb,cAAc;;cAEpB,QAAQ,gCAAgC,UAAU,IAAI,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAoC;IACpE,MAAM,MAAM,GAAG,IAAA,4BAAkB,GAAE,CAAC;IACpC,MAAM,OAAO,GAAG,kCAAkC,CAAC;IACnD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/D,OAAO,GAAG,MAAM,OAAO,OAAO,OAAO,WAAW,EAAE,CAAC;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/effect/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAOrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI,CAAC,QAAQ;IAEhD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,aAAa,EAAE;IAIlD;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAgBnE;;OAEG;IACH,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK;IAY5C;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK;IAarC;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;IAQ3D;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/effect/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAOrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI,CAAC,QAAQ;IAEhD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,aAAa,EAAE;IAIlD;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAgBnE;;OAEG;IACH,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK;IAY5C;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK;IAarC;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;IAQ3D;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,OAAO;IAoBrC;;OAEG;IACH,wBAAwB,CAAC,UAAU,EAAE,aAAa,EAAE;CAKrD"}
|
package/dist/effect/generator.js
CHANGED
|
@@ -78,17 +78,15 @@ ${fieldDefinitions}
|
|
|
78
78
|
generateTypesHeader(hasEnums) {
|
|
79
79
|
const header = (0, codegen_1.generateFileHeader)();
|
|
80
80
|
const imports = [
|
|
81
|
-
`import
|
|
82
|
-
`const Schema = Effect.Schema;`,
|
|
81
|
+
`import { Schema } from "effect";`,
|
|
83
82
|
`import { columnType, generated, getSchemas } from "prisma-effect-kysely";`,
|
|
84
83
|
];
|
|
85
84
|
if (hasEnums) {
|
|
86
|
-
//
|
|
87
|
-
|
|
88
|
-
const enumImports =
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
imports.push(`import { ${enumImports} } from "./enums";`);
|
|
85
|
+
// Import enums and their schemas with suffix pattern
|
|
86
|
+
const enumNames = this.dmmf.datamodel.enums.map((e) => e.name);
|
|
87
|
+
const enumImports = enumNames.join(', ');
|
|
88
|
+
const schemaImports = enumNames.map(name => `${name}Schema`).join(', ');
|
|
89
|
+
imports.push(`import { ${enumImports}, ${schemaImports} } from "./enums";`);
|
|
92
90
|
}
|
|
93
91
|
return `${header}\n\n${imports.join('\n')}`;
|
|
94
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/effect/generator.ts"],"names":[],"mappings":";;;AACA,iCAA2C;AAC3C,iCAAwC;AAGxC,8CAAsD;AACtD,6CAAuD;AAGvD;;GAEG;AACH,MAAa,eAAe;IAC1B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;OAEG;IACH,aAAa,CAAC,KAAoC;QAChD,OAAO,IAAA,wBAAiB,EAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,KAAiB,EAAE,MAA6B;QACjE,MAAM,gBAAgB,GAAG,MAAM;aAC5B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,SAAS,GAAG,IAAA,qBAAc,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO,KAAK,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAExC,OAAO,MAAM,KAAK,CAAC,IAAI;eACZ,cAAc;EAC3B,gBAAgB;IACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,0BAA0B,CAAC,KAAiB;QAC1C,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAE7B,OAAO,oBAAoB,SAAS;+BACT,cAAc;;;;EAI3C,CAAC;IACD,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,KAAiB;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAExB,OAAO,oBAAoB,IAAI;mDACgB,IAAI;mDACJ,IAAI;mDACJ,IAAI;6DACM,IAAI;6DACJ,IAAI;6DACJ,IAAI;EAC/D,CAAC;IACD,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,KAAiB,EAAE,MAAoB;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEpD,OAAO,GAAG,UAAU,OAAO,iBAAiB,OAAO,WAAW,EAAE,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,QAAiB;QACnC,MAAM,MAAM,GAAG,IAAA,4BAAkB,GAAE,CAAC;QAEpC,MAAM,OAAO,GAAG;YACd,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/effect/generator.ts"],"names":[],"mappings":"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"}
|
package/dist/effect/type.js
CHANGED
|
@@ -42,9 +42,9 @@ function mapFieldToEffectType(field, dmmf) {
|
|
|
42
42
|
// TDD: Satisfies tests 11-12 in field-type-generation.test.ts
|
|
43
43
|
const enumDef = dmmf.datamodel.enums.find((e) => e.name === field.type);
|
|
44
44
|
if (enumDef) {
|
|
45
|
-
// Return Schema
|
|
46
|
-
// Preserve original enum name
|
|
47
|
-
return `${enumDef.name}
|
|
45
|
+
// Return Schema with suffix pattern (v1.7.0+)
|
|
46
|
+
// Preserve original enum name with Schema suffix
|
|
47
|
+
return `${enumDef.name}Schema`;
|
|
48
48
|
}
|
|
49
49
|
// PRIORITY 5: Fallback to Unknown
|
|
50
50
|
return "Schema.Unknown";
|
package/dist/effect/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/effect/type.ts"],"names":[],"mappings":";;AA8BA,oDA8BC;AAKD,wCAcC;AA9ED,yCAKwB;AACxB,sDAAiE;AAGjE;;;GAGG;AACH,MAAM,iBAAiB,GAAG;IACxB,MAAM,EAAE,eAAe;IACvB,GAAG,EAAE,eAAe;IACpB,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,eAAe,EAAE,gBAAgB;IAC1C,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,aAAa;IACvB,IAAI,EAAE,gBAAgB,EAAE,oBAAoB;IAC5C,KAAK,EAAE,mBAAmB;CAClB,CAAC;AAEX;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,KAAiB,EAAE,IAAmB;IACzE,+CAA+C;IAC/C,MAAM,YAAY,GAAG,IAAA,uCAAyB,EAAC,KAAK,CAAC,CAAC;IACtD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,qDAAqD;IACrD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAA,kBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,8DAA8D;IAC9D,MAAM,UAAU,GACd,iBAAiB,CAAC,KAAK,CAAC,IAAsC,CAAC,CAAC;IAClE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,oCAAoC;IACpC,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,OAAO,EAAE,CAAC;QACZ,
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/effect/type.ts"],"names":[],"mappings":";;AA8BA,oDA8BC;AAKD,wCAcC;AA9ED,yCAKwB;AACxB,sDAAiE;AAGjE;;;GAGG;AACH,MAAM,iBAAiB,GAAG;IACxB,MAAM,EAAE,eAAe;IACvB,GAAG,EAAE,eAAe;IACpB,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,eAAe,EAAE,gBAAgB;IAC1C,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,aAAa;IACvB,IAAI,EAAE,gBAAgB,EAAE,oBAAoB;IAC5C,KAAK,EAAE,mBAAmB;CAClB,CAAC;AAEX;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,KAAiB,EAAE,IAAmB;IACzE,+CAA+C;IAC/C,MAAM,YAAY,GAAG,IAAA,uCAAyB,EAAC,KAAK,CAAC,CAAC;IACtD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,qDAAqD;IACrD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAA,kBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,8DAA8D;IAC9D,MAAM,UAAU,GACd,iBAAiB,CAAC,KAAK,CAAC,IAAsC,CAAC,CAAC;IAClE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,oCAAoC;IACpC,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,OAAO,EAAE,CAAC;QACZ,8CAA8C;QAC9C,iDAAiD;QACjD,OAAO,GAAG,OAAO,CAAC,IAAI,QAAQ,CAAC;IACjC,CAAC;IAED,kCAAkC;IAClC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,KAAiB,EAAE,IAAmB;IACnE,IAAI,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEjD,gBAAgB;IAChB,IAAI,IAAA,kBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACvB,QAAQ,GAAG,gBAAgB,QAAQ,GAAG,CAAC;IACzC,CAAC;IAED,4DAA4D;IAC5D,IAAI,CAAC,IAAA,sBAAe,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,sBAAe,EAAC,KAAK,CAAC,EAAE,CAAC;QACvD,QAAQ,GAAG,sBAAsB,QAAQ,GAAG,CAAC;IAC/C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|