@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 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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,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;CAC3C,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAsDhC;AAED,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC"}
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":"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"}
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 and use-site-stripped annotations.
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;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,UAAS,0BAA+B,KACvC,cAAc,GAAG,IAiBnB,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 and use-site-stripped annotations.
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(/^(?:public\s+)?(?:val|var)\s+(\w+)\s*:\s*([^=]+?)(?:\s*=\s*.+)?$/);
45
- const match = propertyMatch !== null && propertyMatch !== void 0 ? propertyMatch : (options.allowBareParams ? cleaned.match(/^(\w+)\s*:\s*([^=]+?)(?:\s*=\s*.+)?$/) : null);
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;;;GAGG;AACI,MAAM,mBAAmB,GAAG,CACjC,OAAe,EACf,UAAsC,EAAE,EACjB,EAAE;IACzB,MAAM,OAAO,GAAG,IAAA,8BAAsB,EAAC,OAAO,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CACjC,kEAAkE,CACnE,CAAC;IACF,MAAM,KAAK,GACT,aAAa,aAAb,aAAa,cAAb,aAAa,GACb,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE3F,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAElD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AACxC,CAAC,CAAC;AApBW,QAAA,mBAAmB,uBAoB9B"}
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. */
@@ -1 +1 @@
1
- {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,eAAO,MAAM,yBAAyB,GAAI,cAAc,MAAM,KAAG,MACrC,CAAC;AAE7B,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"}
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, change_case_1.constantCase)(propertyName);
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`;
@@ -1 +1 @@
1
- {"version":3,"file":"naming.js","sourceRoot":"","sources":["../src/naming.ts"],"names":[],"mappings":";;;AAAA,6CAAuD;AAEvD,6EAA6E;AACtE,MAAM,yBAAyB,GAAG,CAAC,YAAoB,EAAU,EAAE,CACxE,IAAA,0BAAY,EAAC,YAAY,CAAC,CAAC;AADhB,QAAA,yBAAyB,6BACT;AAE7B,uEAAuE;AAChE,MAAM,yBAAyB,GAAG,CAAC,OAAe,EAAU,EAAE,CACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,SAAS,CAAC;AADjD,QAAA,yBAAyB,6BACwB;AAE9D,6EAA6E;AACtE,MAAM,kCAAkC,GAAG,CAAC,SAAiB,EAAU,EAAE;IAC9E,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACvD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IACD,OAAO,IAAA,iCAAyB,EAAC,SAAS,CAAC,CAAC;AAC9C,CAAC,CAAC;AANW,QAAA,kCAAkC,sCAM7C;AAEF,+EAA+E;AACxE,MAAM,yBAAyB,GAAG,CAAC,SAAiB,EAAU,EAAE;IACrE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,OAAO,QAAQ,IAAA,wBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;AACpC,CAAC,CAAC;AAHW,QAAA,yBAAyB,6BAGpC"}
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;AAkBzF,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"}
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"}
@@ -15,10 +15,11 @@ const PRIMITIVE_TS = {
15
15
  Float: 'number',
16
16
  Boolean: 'boolean',
17
17
  BigDecimal: 'string',
18
- DateTime: 'string',
19
- Instant: 'string',
20
- LocalDate: 'string',
21
- LocalDateTime: 'string',
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;
@@ -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"}