Skip to content

Commit f96339d

Browse files
committed
feat: adding constructor to the serializer
Signed-off-by: Pawel Psztyc <[email protected]>
1 parent 522f2e4 commit f96339d

File tree

6 files changed

+119
-69
lines changed

6 files changed

+119
-69
lines changed

package-lock.json

Lines changed: 98 additions & 60 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@api-components/amf-helper-mixin",
33
"description": "A mixin with common functions user by most AMF components to compute AMF values",
4-
"version": "4.5.1",
4+
"version": "4.5.2",
55
"license": "Apache-2.0",
66
"main": "index.js",
77
"module": "index.js",
@@ -32,17 +32,17 @@
3232
"@api-components/api-model-generator": "^0.2.14",
3333
"@open-wc/eslint-config": "^4.3.0",
3434
"@open-wc/testing": "^2.5.33",
35-
"@web/dev-server": "^0.1.22",
36-
"@web/test-runner": "^0.13.16",
35+
"@web/dev-server": "^0.1.23",
36+
"@web/test-runner": "^0.13.17",
3737
"@web/test-runner-playwright": "^0.8.8",
3838
"eslint": "^7.32.0",
3939
"eslint-config-prettier": "^8.3.0",
40-
"husky": "^7.0.1",
40+
"husky": "^7.0.2",
4141
"lint-staged": "^11.1.2",
4242
"lit-element": "^2.5.1",
4343
"lit-html": "^1.4.1",
4444
"sinon": "^11.1.2",
45-
"typescript": "^4.3.5",
45+
"typescript": "^4.4.3",
4646
"typescript-lit-html-plugin": "^0.9.0"
4747
},
4848
"scripts": {

src/AmfSerializer.d.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ import { ApiAnyShape, ApiArrayNode, ApiArrayShape, ApiCallback, ApiCustomDomainP
77
* A class that takes AMF's ld+json model and outputs JavaScript interface of it.
88
*/
99
export declare class AmfSerializer extends AmfHelperMixin(Object) {
10+
/**
11+
* @param graph Optional AMF generated graph model.
12+
*/
13+
constructor(graph?: DomainElement);
1014
/**
1115
* @param object The AMF Server to serialize.
1216
* @returns Serialized Server

src/AmfSerializer.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,16 @@ import { AmfHelperMixin, expandKey, findAmfType, getArrayItems } from "./AmfHelp
9999
* A class that takes AMF's ld+json model and outputs JavaScript interface of it.
100100
*/
101101
export class AmfSerializer extends AmfHelperMixin(Object) {
102+
/**
103+
* @param {DomainElement=} graph Optional AMF generated graph model.
104+
*/
105+
constructor(graph) {
106+
super();
107+
if (graph) {
108+
this.amf = graph;
109+
}
110+
}
111+
102112
/**
103113
* @param {Server} object The AMF Server to serialize.
104114
* @returns {ApiServer} Serialized Server

test/serializer/Security.test.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ describe('AmfSerializer', () => {
1717
let serializer;
1818
before(async () => {
1919
api = await AmfLoader.load(true, 'oas-3-api');
20-
serializer = new AmfSerializer();
21-
serializer.amf = api;
20+
serializer = new AmfSerializer(api);
2221
});
2322

2423
describe('operation security', () => {

test/serializer/Server.test.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ describe('AmfSerializer', () => {
1313
let servers;
1414
before(async () => {
1515
api = await AmfLoader.load(true, 'oas-3-api');
16-
serializer = new AmfSerializer();
17-
serializer.amf = api;
16+
serializer = new AmfSerializer(api);
1817
servers = AmfLoader.lookupServers(api);
1918
})
2019

0 commit comments

Comments
 (0)