@genesislcap/event-type-codegen 15.17.0 → 15.18.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/README.md +15 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -1
- package/dist/index.js.map +1 -1
- package/dist/kotlin-parse-utils.d.ts +2 -1
- package/dist/kotlin-parse-utils.d.ts.map +1 -1
- package/dist/kotlin-parse-utils.js +10 -4
- package/dist/kotlin-parse-utils.js.map +1 -1
- package/dist/naming.d.ts +9 -0
- package/dist/naming.d.ts.map +1 -1
- package/dist/naming.js +49 -2
- package/dist/naming.js.map +1 -1
- package/dist/parse-kotlin.d.ts.map +1 -1
- package/dist/parse-kotlin.js +5 -4
- package/dist/parse-kotlin.js.map +1 -1
- package/dist/parse-metadata.d.ts +58 -0
- package/dist/parse-metadata.d.ts.map +1 -0
- package/dist/parse-metadata.js +231 -0
- package/dist/parse-metadata.js.map +1 -0
- package/package.json +3 -3
- package/src/index.ts +65 -1
- package/src/kotlin-parse-utils.ts +17 -7
- package/src/naming.ts +58 -2
- package/src/parse-kotlin.ts +5 -4
- package/src/parse-metadata.ts +327 -0
- package/test/fixtures/client-out/genesis-event-types.ts +1 -1
- package/test/fixtures/golden/genesis-event-types.ts +1 -1
- package/test/kotlin-parse-utils.test.ts +42 -0
- package/test/naming.test.ts +49 -0
- package/test/parse-metadata.test.ts +208 -0
- package/tsconfig.tsbuildinfo +1 -1
package/README.md
CHANGED
|
@@ -71,6 +71,21 @@ await commitGenesisEvent(
|
|
|
71
71
|
);
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
+
## Metadata dump path (FUI-2608)
|
|
75
|
+
|
|
76
|
+
Generate from a live-server snapshot instead of (or in addition to) Kotlin source scan:
|
|
77
|
+
|
|
78
|
+
1. In a connected app with `foundation-header`, press **Ctrl/Cmd+Shift+E** (dev builds only) to download `event-metadata.json`.
|
|
79
|
+
2. Run:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
genx generate event-types --from-metadata event-metadata.json
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
This uses inbound JSON Schema DETAILS (field names, `JSON_TYPE`, requiredness) as the contract — useful for comparing against the Kotlin-scan output and for handlers the source scanner misses.
|
|
86
|
+
|
|
87
|
+
Wire field naming for the Kotlin path matches genesis-server `toUpperUnderscoreWithAcronyms` (e.g. `addressLine1` → `ADDRESS_LINE_1`). Date/DateTime Kotlin types map to TypeScript `number` (epoch millis / `JSON_TYPE: integer`).
|
|
88
|
+
|
|
74
89
|
## Migration
|
|
75
90
|
|
|
76
91
|
| App | Action |
|
package/dist/index.d.ts
CHANGED
|
@@ -5,8 +5,17 @@ export type GenerateEventTypesOptions = {
|
|
|
5
5
|
packageGenesis?: {
|
|
6
6
|
eventTypes?: unknown;
|
|
7
7
|
};
|
|
8
|
+
/** When set, generate from a header-captured metadata dump instead of Kotlin sources. */
|
|
9
|
+
fromMetadataPath?: string;
|
|
8
10
|
};
|
|
11
|
+
export declare function generateEventTypesFromMetadata(options: {
|
|
12
|
+
clientRoot: string;
|
|
13
|
+
metadataPath: string;
|
|
14
|
+
output?: string;
|
|
15
|
+
}): Promise<GenerateResult>;
|
|
9
16
|
export declare function generateEventTypes(options: GenerateEventTypesOptions): Promise<GenerateResult | null>;
|
|
10
17
|
export * from './types';
|
|
11
18
|
export { resolveEventTypesConfig } from './config';
|
|
19
|
+
export { parseEventMetadataDump, renderEventTypesFromMetadataContracts, eventNameToDetailsInterfaceName, type EventMetadataDump, type MetadataEventContract, type MetadataField, } from './parse-metadata';
|
|
20
|
+
export { toUpperUnderscoreWithAcronyms, kotlinPropertyToWireField } from './naming';
|
|
12
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AA4CnF,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,cAAc,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,cAAc,CAAC,CAkC1B;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA8DhC;AAED,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,qCAAqC,EACrC,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveEventTypesConfig = void 0;
|
|
3
|
+
exports.kotlinPropertyToWireField = exports.toUpperUnderscoreWithAcronyms = exports.eventNameToDetailsInterfaceName = exports.renderEventTypesFromMetadataContracts = exports.parseEventMetadataDump = exports.resolveEventTypesConfig = void 0;
|
|
4
|
+
exports.generateEventTypesFromMetadata = generateEventTypesFromMetadata;
|
|
4
5
|
exports.generateEventTypes = generateEventTypes;
|
|
5
6
|
const tslib_1 = require("tslib");
|
|
6
7
|
const node_fs_1 = require("node:fs");
|
|
@@ -11,6 +12,7 @@ const config_1 = require("./config");
|
|
|
11
12
|
const parse_dao_1 = require("./parse-dao");
|
|
12
13
|
const parse_enums_1 = require("./parse-enums");
|
|
13
14
|
const parse_kotlin_1 = require("./parse-kotlin");
|
|
15
|
+
const parse_metadata_1 = require("./parse-metadata");
|
|
14
16
|
const render_1 = require("./render");
|
|
15
17
|
const isDtoScanPath = (filePath) => filePath.replace(/\\/g, '/').includes('/dto/');
|
|
16
18
|
const isExcludedHandlerFile = (filePath) => {
|
|
@@ -45,10 +47,46 @@ const mergeTypeMaps = (primary, secondary) => {
|
|
|
45
47
|
}
|
|
46
48
|
return merged;
|
|
47
49
|
};
|
|
50
|
+
function generateEventTypesFromMetadata(options) {
|
|
51
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
var _a;
|
|
53
|
+
const metadataPath = (0, node_path_1.resolve)(options.clientRoot, options.metadataPath);
|
|
54
|
+
if (!(0, node_fs_1.existsSync)(metadataPath)) {
|
|
55
|
+
throw new Error(`eventTypes: metadata dump not found at ${metadataPath}`);
|
|
56
|
+
}
|
|
57
|
+
let dump;
|
|
58
|
+
try {
|
|
59
|
+
dump = JSON.parse((0, node_fs_1.readFileSync)(metadataPath, 'utf8'));
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
throw new Error(`eventTypes: failed to parse metadata JSON dump at ${metadataPath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
63
|
+
}
|
|
64
|
+
const { contracts, enums, unmapped } = (0, parse_metadata_1.parseEventMetadataDump)(dump);
|
|
65
|
+
const contents = (0, parse_metadata_1.renderEventTypesFromMetadataContracts)(contracts, enums, unmapped);
|
|
66
|
+
const outputRel = (_a = options.output) !== null && _a !== void 0 ? _a : 'src/generated/genesis-event-types.ts';
|
|
67
|
+
const outputPath = (0, node_path_1.resolve)(options.clientRoot, outputRel);
|
|
68
|
+
yield (0, promises_1.mkdir)((0, node_path_1.dirname)(outputPath), { recursive: true });
|
|
69
|
+
yield (0, promises_1.writeFile)(outputPath, contents, 'utf8');
|
|
70
|
+
consola_1.consola.info(`eventTypes: wrote ${outputPath} from metadata (${contracts.length} events, ${unmapped.length} unmapped)`);
|
|
71
|
+
return {
|
|
72
|
+
outputPath,
|
|
73
|
+
eventCount: contracts.length,
|
|
74
|
+
dtoCount: contracts.length,
|
|
75
|
+
unmappedCount: unmapped.length,
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
}
|
|
48
79
|
function generateEventTypes(options) {
|
|
49
80
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
50
81
|
var _a;
|
|
51
82
|
const resolved = (_a = options.config) !== null && _a !== void 0 ? _a : (0, config_1.resolveEventTypesConfig)(options.clientRoot, undefined, options.packageGenesis);
|
|
83
|
+
if (options.fromMetadataPath) {
|
|
84
|
+
return generateEventTypesFromMetadata({
|
|
85
|
+
clientRoot: options.clientRoot,
|
|
86
|
+
metadataPath: options.fromMetadataPath,
|
|
87
|
+
output: resolved.output,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
52
90
|
if (!resolved.enabled) {
|
|
53
91
|
return null;
|
|
54
92
|
}
|
|
@@ -89,4 +127,11 @@ function generateEventTypes(options) {
|
|
|
89
127
|
tslib_1.__exportStar(require("./types"), exports);
|
|
90
128
|
var config_2 = require("./config");
|
|
91
129
|
Object.defineProperty(exports, "resolveEventTypesConfig", { enumerable: true, get: function () { return config_2.resolveEventTypesConfig; } });
|
|
130
|
+
var parse_metadata_2 = require("./parse-metadata");
|
|
131
|
+
Object.defineProperty(exports, "parseEventMetadataDump", { enumerable: true, get: function () { return parse_metadata_2.parseEventMetadataDump; } });
|
|
132
|
+
Object.defineProperty(exports, "renderEventTypesFromMetadataContracts", { enumerable: true, get: function () { return parse_metadata_2.renderEventTypesFromMetadataContracts; } });
|
|
133
|
+
Object.defineProperty(exports, "eventNameToDetailsInterfaceName", { enumerable: true, get: function () { return parse_metadata_2.eventNameToDetailsInterfaceName; } });
|
|
134
|
+
var naming_1 = require("./naming");
|
|
135
|
+
Object.defineProperty(exports, "toUpperUnderscoreWithAcronyms", { enumerable: true, get: function () { return naming_1.toUpperUnderscoreWithAcronyms; } });
|
|
136
|
+
Object.defineProperty(exports, "kotlinPropertyToWireField", { enumerable: true, get: function () { return naming_1.kotlinPropertyToWireField; } });
|
|
92
137
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,8 @@ export type ParseKotlinPropertyOptions = {
|
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
16
|
* Parse a Kotlin constructor / data-class property segment into a wire-facing property.
|
|
17
|
-
* Accepts optional public modifier
|
|
17
|
+
* Accepts optional public modifier, use-site-stripped annotations, and backtick-escaped
|
|
18
|
+
* reserved identifiers (e.g. `value` → value → wire VALUE).
|
|
18
19
|
*/
|
|
19
20
|
export declare const parseKotlinProperty: (segment: string, options?: ParseKotlinPropertyOptions) => KotlinProperty | null;
|
|
20
21
|
//# sourceMappingURL=kotlin-parse-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kotlin-parse-utils.d.ts","sourceRoot":"","sources":["../src/kotlin-parse-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,KAAG,MACa,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,MAI9C,CAAC;AAEZ,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MAAM,EAgBtD,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,gFAAgF;IAChF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;
|
|
1
|
+
{"version":3,"file":"kotlin-parse-utils.d.ts","sourceRoot":"","sources":["../src/kotlin-parse-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,KAAG,MACa,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,MAI9C,CAAC;AAEZ,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MAAM,EAgBtD,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,gFAAgF;IAChF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAcF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,UAAS,0BAA+B,KACvC,cAAc,GAAG,IAcnB,CAAC"}
|
|
@@ -35,17 +35,23 @@ const splitTopLevelArgs = (body) => {
|
|
|
35
35
|
return parts;
|
|
36
36
|
};
|
|
37
37
|
exports.splitTopLevelArgs = splitTopLevelArgs;
|
|
38
|
+
/** Plain or backtick-escaped Kotlin identifier (`value` for reserved words). */
|
|
39
|
+
const KOTLIN_IDENT = '(?:\\w+|`[^`]+`)';
|
|
40
|
+
const PROPERTY_REGEX = new RegExp(`^(?:public\\s+)?(?:val|var)\\s+(${KOTLIN_IDENT})\\s*:\\s*([^=]+?)(?:\\s*=\\s*.+)?$`);
|
|
41
|
+
const BARE_PROPERTY_REGEX = new RegExp(`^(${KOTLIN_IDENT})\\s*:\\s*([^=]+?)(?:\\s*=\\s*.+)?$`);
|
|
42
|
+
const stripBackticks = (ident) => ident.startsWith('`') && ident.endsWith('`') ? ident.slice(1, -1) : ident;
|
|
38
43
|
/**
|
|
39
44
|
* Parse a Kotlin constructor / data-class property segment into a wire-facing property.
|
|
40
|
-
* Accepts optional public modifier
|
|
45
|
+
* Accepts optional public modifier, use-site-stripped annotations, and backtick-escaped
|
|
46
|
+
* reserved identifiers (e.g. `value` → value → wire VALUE).
|
|
41
47
|
*/
|
|
42
48
|
const parseKotlinProperty = (segment, options = {}) => {
|
|
43
49
|
const cleaned = (0, exports.stripKotlinAnnotations)(segment);
|
|
44
|
-
const propertyMatch = cleaned.match(
|
|
45
|
-
const match = propertyMatch !== null && propertyMatch !== void 0 ? propertyMatch : (options.allowBareParams ? cleaned.match(
|
|
50
|
+
const propertyMatch = cleaned.match(PROPERTY_REGEX);
|
|
51
|
+
const match = propertyMatch !== null && propertyMatch !== void 0 ? propertyMatch : (options.allowBareParams ? cleaned.match(BARE_PROPERTY_REGEX) : null);
|
|
46
52
|
if (!match)
|
|
47
53
|
return null;
|
|
48
|
-
const name = match[1];
|
|
54
|
+
const name = stripBackticks(match[1]);
|
|
49
55
|
let kotlinType = match[2].trim();
|
|
50
56
|
const optional = kotlinType.endsWith('?') || cleaned.includes('=');
|
|
51
57
|
kotlinType = kotlinType.replace(/\?$/, '').trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kotlin-parse-utils.js","sourceRoot":"","sources":["../src/kotlin-parse-utils.ts"],"names":[],"mappings":";;;AAEA,kFAAkF;AAC3E,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAU,EAAE,CAC7D,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AADvD,QAAA,mBAAmB,uBACoC;AAEpE;;;GAGG;AACI,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAU,EAAE,CAChE,OAAO;KACJ,OAAO,CAAC,4DAA4D,EAAE,GAAG,CAAC;KAC1E,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;KACpB,IAAI,EAAE,CAAC;AAJC,QAAA,sBAAsB,0BAIvB;AAEZ,2FAA2F;AACpF,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAY,EAAE;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QACvD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QACvD,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3B,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAhBW,QAAA,iBAAiB,qBAgB5B;AAOF
|
|
1
|
+
{"version":3,"file":"kotlin-parse-utils.js","sourceRoot":"","sources":["../src/kotlin-parse-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/naming.d.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert camelCase / PascalCase to UPPER_UNDERSCORE, inserting `_` before digits and
|
|
3
|
+
* splitting acronyms the same way as genesis-server `toUpperUnderscoreWithAcronyms`.
|
|
4
|
+
*
|
|
5
|
+
* Examples: `addressLine1` → `ADDRESS_LINE_1`, `orderID` → `ORDER_ID`.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare const toUpperUnderscoreWithAcronyms: (name: string) => string;
|
|
1
10
|
/** Wire field name for a Kotlin property (DETAILS uses UPPER_SNAKE_CASE). */
|
|
2
11
|
export declare const kotlinPropertyToWireField: (propertyName: string) => string;
|
|
3
12
|
/** Generated interface name for a Kotlin DTO or handler input type. */
|
package/dist/naming.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,GAAI,MAAM,MAAM,KAAG,MAwC5D,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,GAAI,cAAc,MAAM,KAAG,MACpB,CAAC;AAE9C,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,GAAI,SAAS,MAAM,KAAG,MACC,CAAC;AAE9D,6EAA6E;AAC7E,eAAO,MAAM,kCAAkC,GAAI,WAAW,MAAM,KAAG,MAMtE,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,GAAI,WAAW,MAAM,KAAG,MAG7D,CAAC"}
|
package/dist/naming.js
CHANGED
|
@@ -1,9 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.eventNameToEventClassName = exports.handlerInputToDetailsInterfaceName = exports.dtoToDetailsInterfaceName = exports.kotlinPropertyToWireField = void 0;
|
|
3
|
+
exports.eventNameToEventClassName = exports.handlerInputToDetailsInterfaceName = exports.dtoToDetailsInterfaceName = exports.kotlinPropertyToWireField = exports.toUpperUnderscoreWithAcronyms = void 0;
|
|
4
4
|
const change_case_1 = require("change-case");
|
|
5
|
+
/**
|
|
6
|
+
* Convert camelCase / PascalCase to UPPER_UNDERSCORE, inserting `_` before digits and
|
|
7
|
+
* splitting acronyms the same way as genesis-server `toUpperUnderscoreWithAcronyms`.
|
|
8
|
+
*
|
|
9
|
+
* Examples: `addressLine1` → `ADDRESS_LINE_1`, `orderID` → `ORDER_ID`.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
const toUpperUnderscoreWithAcronyms = (name) => {
|
|
14
|
+
if (!name)
|
|
15
|
+
return name;
|
|
16
|
+
// Already wire-formatted — genesis-server passes these through unchanged.
|
|
17
|
+
if (/^[A-Z0-9]+(?:_[A-Z0-9]+)*$/.test(name))
|
|
18
|
+
return name;
|
|
19
|
+
const length = name.length;
|
|
20
|
+
const result = [];
|
|
21
|
+
// Genesis seeds non-upper (including digits) as NUMBER so the first digit after
|
|
22
|
+
// letters still gets a leading underscore on subsequent chars.
|
|
23
|
+
let lastCharacterType = name[0] >= 'A' && name[0] <= 'Z' ? 'UPPERCASE' : 'NUMBER';
|
|
24
|
+
result.push(name[0].toUpperCase());
|
|
25
|
+
const isUpperOrDigit = (c) => (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9');
|
|
26
|
+
for (let i = 1; i < length; i += 1) {
|
|
27
|
+
const ch = name[i];
|
|
28
|
+
if (ch >= 'A' && ch <= 'Z') {
|
|
29
|
+
// Continue an acronym run when the next char is also upper/digit; otherwise split.
|
|
30
|
+
const continueAcronym = lastCharacterType === 'UPPERCASE' && (i + 1 >= length || isUpperOrDigit(name[i + 1]));
|
|
31
|
+
if (!continueAcronym) {
|
|
32
|
+
result.push('_');
|
|
33
|
+
}
|
|
34
|
+
result.push(ch);
|
|
35
|
+
lastCharacterType = 'UPPERCASE';
|
|
36
|
+
}
|
|
37
|
+
else if (ch >= '0' && ch <= '9') {
|
|
38
|
+
if (lastCharacterType !== 'NUMBER') {
|
|
39
|
+
result.push('_');
|
|
40
|
+
}
|
|
41
|
+
result.push(ch);
|
|
42
|
+
lastCharacterType = 'NUMBER';
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
result.push(ch.toUpperCase());
|
|
46
|
+
lastCharacterType = 'LOWERCASE';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return result.join('');
|
|
50
|
+
};
|
|
51
|
+
exports.toUpperUnderscoreWithAcronyms = toUpperUnderscoreWithAcronyms;
|
|
5
52
|
/** Wire field name for a Kotlin property (DETAILS uses UPPER_SNAKE_CASE). */
|
|
6
|
-
const kotlinPropertyToWireField = (propertyName) => (0,
|
|
53
|
+
const kotlinPropertyToWireField = (propertyName) => (0, exports.toUpperUnderscoreWithAcronyms)(propertyName);
|
|
7
54
|
exports.kotlinPropertyToWireField = kotlinPropertyToWireField;
|
|
8
55
|
/** Generated interface name for a Kotlin DTO or handler input type. */
|
|
9
56
|
const dtoToDetailsInterfaceName = (dtoName) => dtoName.endsWith('Details') ? dtoName : `${dtoName}Details`;
|
package/dist/naming.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-kotlin.d.ts","sourceRoot":"","sources":["../src/parse-kotlin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-kotlin.d.ts","sourceRoot":"","sources":["../src/parse-kotlin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAmBzF,QAAA,MAAM,gBAAgB,QAAsE,CAAC;AAE7F,QAAA,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,cAAc,EAAE,CAAA;CAAE,EAkC3F,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,EAAE,KAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAe3E,CAAC;AAeF,eAAO,MAAM,wBAAwB,GACnC,OAAO,MAAM,EAAE,EACf,MAAM,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,KAC3B;IAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAwDxD,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAClB,MAAM,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC5B,QAAO,aAAyB,KAC/B,MAoBF,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC"}
|
package/dist/parse-kotlin.js
CHANGED
|
@@ -15,10 +15,11 @@ const PRIMITIVE_TS = {
|
|
|
15
15
|
Float: 'number',
|
|
16
16
|
Boolean: 'boolean',
|
|
17
17
|
BigDecimal: 'string',
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
// Genesis wire JSON_TYPE for DATE/DATETIME is integer (epoch millis).
|
|
19
|
+
DateTime: 'number',
|
|
20
|
+
Instant: 'number',
|
|
21
|
+
LocalDate: 'number',
|
|
22
|
+
LocalDateTime: 'number',
|
|
22
23
|
};
|
|
23
24
|
const DATA_CLASS_START = /^\s*(?:data\s+)?class\s+(\w+)\s*(?:\([^)]*\))?\s*(?:\([^)]*\)|\{)/;
|
|
24
25
|
exports.DATA_CLASS_START = DATA_CLASS_START;
|
package/dist/parse-kotlin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-kotlin.js","sourceRoot":"","sources":["../src/parse-kotlin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-kotlin.js","sourceRoot":"","sources":["../src/parse-kotlin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/** Wire-named DETAILS property from live event metadata / JSON Schema. */
|
|
2
|
+
export type MetadataField = {
|
|
3
|
+
/** Already UPPER_SNAKE wire name (e.g. ADDRESS_LINE_1). */
|
|
4
|
+
name: string;
|
|
5
|
+
/** Emitted TypeScript type (e.g. string, number, Side). */
|
|
6
|
+
tsType: string;
|
|
7
|
+
optional: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type MetadataEventContract = {
|
|
10
|
+
eventName: string;
|
|
11
|
+
detailsInterface: string;
|
|
12
|
+
fields: MetadataField[];
|
|
13
|
+
};
|
|
14
|
+
export type MetadataEnumDef = {
|
|
15
|
+
name: string;
|
|
16
|
+
values: string[];
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Dump shape produced by foundation-header dev capture (FUI-2608).
|
|
20
|
+
* Prefer `schema.INBOUND` DETAILS; fall back to `metadata.FIELD`.
|
|
21
|
+
*/
|
|
22
|
+
export type EventMetadataDump = {
|
|
23
|
+
capturedAt?: string;
|
|
24
|
+
source?: string;
|
|
25
|
+
events: Record<string, {
|
|
26
|
+
metadata?: {
|
|
27
|
+
FIELD?: Array<{
|
|
28
|
+
NAME: string;
|
|
29
|
+
TYPE?: string;
|
|
30
|
+
JSON_TYPE?: string;
|
|
31
|
+
OPTIONAL?: boolean;
|
|
32
|
+
VALID_VALUES?: string;
|
|
33
|
+
}>;
|
|
34
|
+
NAME?: string;
|
|
35
|
+
};
|
|
36
|
+
schema?: {
|
|
37
|
+
INBOUND?: {
|
|
38
|
+
properties?: Record<string, unknown>;
|
|
39
|
+
required?: string[];
|
|
40
|
+
};
|
|
41
|
+
MESSAGE_TYPE?: string;
|
|
42
|
+
};
|
|
43
|
+
}>;
|
|
44
|
+
};
|
|
45
|
+
/** Quote a string for safe emission as a TS string literal / object key. */
|
|
46
|
+
export declare const quoteTsString: (s: string) => string;
|
|
47
|
+
/** EVENT_BROKER_INSERT → BrokerInsertDetails */
|
|
48
|
+
export declare const eventNameToDetailsInterfaceName: (eventName: string) => string;
|
|
49
|
+
/**
|
|
50
|
+
* Parse a header-captured event-metadata.json dump into per-event contracts.
|
|
51
|
+
*/
|
|
52
|
+
export declare const parseEventMetadataDump: (dump: EventMetadataDump) => {
|
|
53
|
+
contracts: MetadataEventContract[];
|
|
54
|
+
enums: MetadataEnumDef[];
|
|
55
|
+
unmapped: string[];
|
|
56
|
+
};
|
|
57
|
+
export declare const renderEventTypesFromMetadataContracts: (contracts: MetadataEventContract[], enums: MetadataEnumDef[], unmapped: string[]) => string;
|
|
58
|
+
//# sourceMappingURL=parse-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-metadata.d.ts","sourceRoot":"","sources":["../src/parse-metadata.ts"],"names":[],"mappings":"AAEA,0EAA0E;AAC1E,MAAM,MAAM,aAAa,GAAG;IAC1B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,QAAQ,CAAC,EAAE;YACT,KAAK,CAAC,EAAE,KAAK,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;gBACnB,YAAY,CAAC,EAAE,MAAM,CAAC;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;QACF,MAAM,CAAC,EAAE;YACP,OAAO,CAAC,EAAE;gBACR,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;aACrB,CAAC;YACF,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;KACH,CACF,CAAC;CACH,CAAC;AAKF,4EAA4E;AAC5E,eAAO,MAAM,aAAa,GAAI,GAAG,MAAM,KAAG,MACY,CAAC;AAMvD,gDAAgD;AAChD,eAAO,MAAM,+BAA+B,GAAI,WAAW,MAAM,KAAG,MASnE,CAAC;AAqHF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,iBAAiB,KACtB;IAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;IAAC,KAAK,EAAE,eAAe,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAkEpF,CAAC;AAEF,eAAO,MAAM,qCAAqC,GAChD,WAAW,qBAAqB,EAAE,EAClC,OAAO,eAAe,EAAE,EACxB,UAAU,MAAM,EAAE,KACjB,MA0DF,CAAC"}
|