Skip to content

Commit e72ceab

Browse files
author
Mad Sheogorath
committed
Exports expression added to generated files.
1 parent fd948f0 commit e72ceab

File tree

4 files changed

+18
-3
lines changed

4 files changed

+18
-3
lines changed

example/generated/example-posts.generated.mjs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -673,4 +673,6 @@ const examplePostsMessageFactory = {
673673
'187698222': () => new GetRequest(),
674674
'788388804': () => new DeleteResponse(),
675675
'486637631': () => new DeleteRequest(),
676-
};
676+
};
677+
678+
export {GetAllResponse, GetAllRequest, GetResponse, GetRequest, DeleteResponse, DeleteRequest, examplePostsMessageFactory};

example/generated/example-users.generated.mjs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -774,4 +774,6 @@ const exampleUsersMessageFactory = {
774774
'69897231': () => new DeleteResponse(),
775775
'808423104': () => new DeleteRequest(),
776776
'743336169': () => new UpdateSessionMessage(),
777-
};
777+
};
778+
779+
export {GetAllResponse, GetAllRequest, GetResponse, GetRequest, DeleteResponse, DeleteRequest, UpdateSessionMessage, exampleUsersMessageFactory};

example/generated/example.generated.mjs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,4 +235,6 @@ class TestMessage extends PackMeMessage {
235235

236236
const exampleMessageFactory = {
237237
'475203406': () => new TestMessage(),
238-
};
238+
};
239+
240+
export {TypeEnum, NestedObject, TestMessage, exampleMessageFactory};

lib/compiler/parser.mjs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,15 @@ function parse(nodes) {
118118
imports[key].sort();
119119
codePerFile[filename].splice(1, 0, `import {${imports[key].join(', ')}} from '${key}.generated.mjs';`);
120120
}
121+
122+
/// Add export statement
123+
let exports = [
124+
...Object.values(enums).filter((item) => item.filename === filename).map((item) => item.name),
125+
...Object.values(types).filter((item) => item.filename === filename).map((item) => item.name),
126+
...[...messages.values()].filter((item) => item.filename === filename).map((item) => item.name),
127+
`${validName(filename)}MessageFactory`
128+
];
129+
codePerFile[filename].push('', `export {${exports.join(', ')}};`);
121130
}
122131
return codePerFile;
123132
}

0 commit comments

Comments
 (0)