inugami-ng 0.0.16 → 0.0.17
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.
|
@@ -240,7 +240,6 @@ class InuOpenApiServices {
|
|
|
240
240
|
contentType = Object.keys(value.content)[0];
|
|
241
241
|
let schemaData = this.extractSchema(value, contentType);
|
|
242
242
|
const objectType = this.renderType(schemaData, schemaTypes, objectTypeCache);
|
|
243
|
-
console.log('request', objectType);
|
|
244
243
|
schema = {
|
|
245
244
|
type: schemaData?.type,
|
|
246
245
|
ref: objectType?.value,
|
|
@@ -314,6 +313,18 @@ class InuOpenApiServices {
|
|
|
314
313
|
});
|
|
315
314
|
}
|
|
316
315
|
}
|
|
316
|
+
if (examples.length == 0) {
|
|
317
|
+
let renderedType = JSON.stringify(schema.array ? [schema.ref] : schema.ref, null, 2);
|
|
318
|
+
if ('{}' == renderedType) {
|
|
319
|
+
if (type == 'string') {
|
|
320
|
+
renderedType = '""';
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
examples.push({
|
|
324
|
+
name: 'nominal',
|
|
325
|
+
value: renderedType
|
|
326
|
+
});
|
|
327
|
+
}
|
|
317
328
|
}
|
|
318
329
|
}
|
|
319
330
|
result.push({
|
|
@@ -327,30 +338,6 @@ class InuOpenApiServices {
|
|
|
327
338
|
}
|
|
328
339
|
return result;
|
|
329
340
|
}
|
|
330
|
-
extractObjectTypeValue(value) {
|
|
331
|
-
if (Array.isArray(value) && value.length > 0) {
|
|
332
|
-
return value[0];
|
|
333
|
-
}
|
|
334
|
-
return value;
|
|
335
|
-
}
|
|
336
|
-
unmarshallEndpointResponseHeader(value) {
|
|
337
|
-
if (!value) {
|
|
338
|
-
return undefined;
|
|
339
|
-
}
|
|
340
|
-
const result = [];
|
|
341
|
-
const keys = Object.keys(value);
|
|
342
|
-
keys.sort();
|
|
343
|
-
for (let key of keys) {
|
|
344
|
-
const item = value[key];
|
|
345
|
-
result.push({
|
|
346
|
-
name: key,
|
|
347
|
-
description: item.description,
|
|
348
|
-
externalDocs: item.externalDocs,
|
|
349
|
-
style: item.style
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
return result;
|
|
353
|
-
}
|
|
354
341
|
unmarshallEndpointResponseExample(value) {
|
|
355
342
|
const result = [];
|
|
356
343
|
const keys = Object.keys(value);
|
|
@@ -377,6 +364,30 @@ class InuOpenApiServices {
|
|
|
377
364
|
}
|
|
378
365
|
return result;
|
|
379
366
|
}
|
|
367
|
+
extractObjectTypeValue(value) {
|
|
368
|
+
if (Array.isArray(value) && value.length > 0) {
|
|
369
|
+
return value[0];
|
|
370
|
+
}
|
|
371
|
+
return value;
|
|
372
|
+
}
|
|
373
|
+
unmarshallEndpointResponseHeader(value) {
|
|
374
|
+
if (!value) {
|
|
375
|
+
return undefined;
|
|
376
|
+
}
|
|
377
|
+
const result = [];
|
|
378
|
+
const keys = Object.keys(value);
|
|
379
|
+
keys.sort();
|
|
380
|
+
for (let key of keys) {
|
|
381
|
+
const item = value[key];
|
|
382
|
+
result.push({
|
|
383
|
+
name: key,
|
|
384
|
+
description: item.description,
|
|
385
|
+
externalDocs: item.externalDocs,
|
|
386
|
+
style: item.style
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
return result;
|
|
390
|
+
}
|
|
380
391
|
extractExtension(value) {
|
|
381
392
|
if (!value) {
|
|
382
393
|
return undefined;
|
|
@@ -437,29 +448,46 @@ class InuOpenApiServices {
|
|
|
437
448
|
if (array) {
|
|
438
449
|
if (schema.items) {
|
|
439
450
|
type = schema.items['$ref'];
|
|
451
|
+
if (!type && schema.items.type) {
|
|
452
|
+
type = schema.items.type;
|
|
453
|
+
}
|
|
440
454
|
}
|
|
441
455
|
}
|
|
442
456
|
else {
|
|
443
457
|
type = schema.ref;
|
|
444
458
|
}
|
|
445
459
|
let currentType = undefined;
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
460
|
+
let object = {};
|
|
461
|
+
if (type) {
|
|
462
|
+
if (schemaTypes?.schemas) {
|
|
463
|
+
for (let item of schemaTypes?.schemas) {
|
|
464
|
+
if (type == item.id) {
|
|
465
|
+
currentType = item;
|
|
466
|
+
break;
|
|
467
|
+
}
|
|
451
468
|
}
|
|
452
469
|
}
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
470
|
+
if (currentType?.name) {
|
|
471
|
+
const cachedValue = objectTypeCache.find(v => v.name === currentType.name);
|
|
472
|
+
if (cachedValue) {
|
|
473
|
+
return cachedValue;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
if (currentType && currentType.properties) {
|
|
477
|
+
object = this.convertObjectPropertiesToObject(currentType.properties, currentType.example ? currentType.example : {}, schemaTypes, objectTypeCache, level ? level + 1 : 0);
|
|
458
478
|
}
|
|
459
479
|
}
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
480
|
+
else if (schema.properties) {
|
|
481
|
+
object = this.convertObjectPropertiesToObject(Object
|
|
482
|
+
.entries(schema.properties)
|
|
483
|
+
.map(e => {
|
|
484
|
+
const value = e[1];
|
|
485
|
+
return {
|
|
486
|
+
name: e[0],
|
|
487
|
+
format: value?.format,
|
|
488
|
+
type: value?.type
|
|
489
|
+
};
|
|
490
|
+
}), {}, schemaTypes, objectTypeCache, level ? level + 1 : 0);
|
|
463
491
|
}
|
|
464
492
|
const result = {
|
|
465
493
|
array: array,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inugami-ng-components-inu-open-api.mjs","sources":["../../../projects/inugami-ng/components/inu-open-api/inu-open-api.service.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-parameters/inu-open-api-parameters.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-parameters/inu-open-api-parameters.html","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-extension/inu-open-api-extension.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-extension/inu-open-api-extension.html","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-response/inu-open-api-response.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-response/inu-open-api-response.html","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-endpoint/inu-open-api-endpoint.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-endpoint/inu-open-api-endpoint.html","../../../projects/inugami-ng/components/inu-open-api/inu-open-api.ts","../../../projects/inugami-ng/components/inu-open-api/inu-open-api.html","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-request/inu-open-api-request.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-request/inu-open-api-request.html","../../../projects/inugami-ng/components/inu-open-api/inugami-ng-components-inu-open-api.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {\n Example,\n Extension,\n ExternalDocs,\n Header,\n ObjectType,\n OpenApi,\n OpenApiComponent,\n OpenApiComponentSchema,\n OpenApiComponentSecurityScheme,\n OpenApiInfo,\n OpenApiPathEndpoint,\n OpenApiPathEndpointParameter,\n OpenApiPathEndpointRequestBody,\n OpenApiPathEndpointResponse,\n OpenApiProperty,\n OpenApiSchema,\n OpenApiServer,\n Tags\n} from \"./open-api.model\";\n\nconst VERBS: string[] = ['get', 'put', 'post', 'delete', 'options', 'patch', 'trace'];\n\ninterface ObjectTypeCache {\n name: string;\n value: ObjectType | OpenApiSchema;\n}\n\n@Injectable({providedIn: 'root'})\nexport class InuOpenApiServices {\n\n\n // =================================================================================================================\n // API\n // =================================================================================================================\n public convertToOpenApi(response: any): OpenApi {\n const schemaTypes: OpenApiComponent | undefined = this.unmarshallComponents(response.components);\n const objectTypeCache: ObjectTypeCache[] = [];\n const result = {\n openapi : response.openapi,\n components : this.unmarshallComponents(response.components),\n externalDocs: this.unmarshallExternalDocs(response.externalDocs),\n info : this.unmarshallInfo(response.info),\n paths : this.unmarshallPaths(response.paths, schemaTypes, objectTypeCache),\n servers : this.unmarshallServers(response.servers),\n tags : this.unmarshallTags(response.tags)\n };\n\n return result;\n }\n\n\n // =================================================================================================================\n // PRIVATE\n // =================================================================================================================\n private unmarshallComponents(components: any): OpenApiComponent | undefined {\n if (!components) {\n return undefined;\n }\n return {\n schemas : this.unmarshallComponentsSchemas(components.schemas),\n securitySchemes: this.unmarshallComponentsSecuritySchemes(components.securitySchemes)\n };\n }\n\n private unmarshallComponentsSchemas(schemas: any): OpenApiComponentSchema[] | undefined {\n const result: OpenApiComponentSchema[] = [];\n if (!schemas) {\n return result;\n }\n\n const keys = Object.keys(schemas);\n keys.sort();\n for (let key of keys) {\n\n const properties: OpenApiProperty[] = [];\n const rawProperties = schemas[key].properties;\n if (rawProperties) {\n const propertyKeys = Object.keys(rawProperties);\n for (let propertyKey of propertyKeys) {\n const property = rawProperties[propertyKey];\n\n let additionalProperties: OpenApiProperty | undefined;\n if (property.additionalProperties) {\n additionalProperties = {\n type: property.additionalProperties.type\n }\n }\n\n let items: OpenApiSchema | undefined;\n if (property.items) {\n items = {\n type : property.items.type,\n format: property.items.format,\n ref : property.items['$ref'] ? property.items['$ref'] : undefined\n };\n }\n const propertyItem: OpenApiProperty = {\n type: property.type,\n ref : property['$ref'],\n name: propertyKey\n };\n\n if (additionalProperties) {\n propertyItem.additionalProperties = additionalProperties;\n }\n if (items) {\n propertyItem.items = items;\n }\n\n properties.push(propertyItem);\n }\n }\n\n result.push({\n id : `#/components/schemas/${key}`,\n name : key,\n type : schemas[key].type,\n properties: properties\n });\n }\n\n return result;\n }\n\n private unmarshallComponentsSecuritySchemes(schemas: any): OpenApiComponentSecurityScheme[] | undefined {\n const result: OpenApiComponentSecurityScheme[] = [];\n if (!schemas) {\n return result;\n }\n\n const keys = Object.keys(schemas);\n keys.sort();\n for (let key of keys) {\n const value = schemas[key];\n result.push({\n name : key,\n type : value.type,\n scheme: value.scheme\n });\n }\n\n return result;\n }\n\n private unmarshallExternalDocs(externalDocs: any): ExternalDocs | undefined {\n return !externalDocs ? undefined : {\n url : externalDocs.url,\n description: externalDocs.description,\n extension : this.unmarshallExtension(externalDocs)\n };\n }\n\n private unmarshallInfo(info: any): OpenApiInfo | undefined {\n return {\n title : info.title,\n description: info.description,\n version : info.version\n }\n }\n\n private unmarshallServers(servers: any): OpenApiServer[] | undefined {\n const result: OpenApiServer[] = [];\n if (!servers) {\n return result;\n }\n for (let server of servers) {\n result.push({\n url : server.url,\n description: server.description\n });\n }\n return result;\n }\n\n\n private unmarshallPaths(paths: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[]): OpenApiPathEndpoint[] {\n const result: OpenApiPathEndpoint[] = [];\n if (!paths) {\n return result;\n }\n\n const keys = Object.keys(paths);\n keys.sort();\n for (let key of keys) {\n const path = paths[key];\n const verbKeys = Object.keys(path);\n verbKeys.sort();\n\n for (let verbKey of verbKeys) {\n if (this.isVerb(verbKey)) {\n const openApiEndpoint = path[verbKey];\n const endpoint: OpenApiPathEndpoint = {\n uri : `${verbKey}_${key}`,\n url : key,\n verb : verbKey,\n tags : openApiEndpoint.tags,\n operationId: openApiEndpoint.operationId,\n summary : openApiEndpoint.summary,\n description: openApiEndpoint.description,\n parameters : this.unmarshallEndpointParameters(openApiEndpoint.parameters),\n requestBody: this.unmarshallEndpointRequestBody(openApiEndpoint.requestBody, schemaTypes, objectTypeCache),\n responses : this.unmarshallEndpointResponse(openApiEndpoint.responses, schemaTypes, objectTypeCache),\n };\n result.push(endpoint);\n }\n }\n }\n\n return result;\n }\n\n private isVerb(verb: string): boolean {\n return verb == undefined || verb == null ? false : VERBS.indexOf(verb) != -1\n }\n\n\n private unmarshallEndpointParameters(value: any): OpenApiPathEndpointParameter[] | undefined {\n if (!value) {\n return undefined;\n }\n\n const result: OpenApiPathEndpointParameter[] = [];\n for (let param of value) {\n let schema: OpenApiSchema | undefined = undefined;\n if (param.schema) {\n schema = {\n type: param.schema?.type,\n ref : param.schema['$ref']\n }\n }\n result.push({\n name : param.name,\n in : param.in,\n required : param.required,\n description : param.description,\n deprecated : param.deprecated,\n allowEmptyValue: param.allowEmptyValue,\n style : param.style,\n explode : param.explode,\n allowReserved : param.allowReserved,\n example : param.example,\n examples : this.unmarshallExamples(param.examples),\n schema : schema\n });\n }\n\n return result;\n }\n\n private unmarshallExamples(value: any): Example[] {\n const result: Example[] = [];\n if (!value) {\n return result;\n }\n\n const keys: string[] = Object.keys(value);\n keys.sort();\n for (let key of keys) {\n result.push(this.unmarshallExample(key, value[key]));\n }\n return result;\n }\n\n private unmarshallExample(name: string, value: any): Example {\n const result: Example = {\n name : name,\n summary : value.summary,\n description : value.description,\n value : value.value,\n externalValue: value.externalValue\n };\n\n let extension: any = {};\n\n const keys = Object.keys(value);\n keys.sort();\n for (let key of keys) {\n if (key.startsWith('x-')) {\n const field = key.substring(2);\n if (field) {\n extension[field] = value[key];\n }\n }\n }\n\n\n return result;\n }\n\n private unmarshallEndpointRequestBody(value: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[]): OpenApiPathEndpointRequestBody | undefined {\n if (!value) {\n return undefined;\n }\n\n let contentType: string | undefined;\n let schema: OpenApiSchema | undefined;\n\n if (value.content) {\n contentType = Object.keys(value.content)[0]\n\n let schemaData: any | undefined = this.extractSchema(value, contentType);\n\n const objectType = this.renderType(schemaData, schemaTypes, objectTypeCache);\n console.log('request', objectType)\n schema = {\n type : schemaData?.type,\n ref : objectType?.value,\n array: objectType?.array,\n name : objectType?.name\n }\n }\n\n return {\n contentType: contentType,\n schema : schema,\n required : value.required\n };\n }\n\n private extractSchema(value: any, contentType: string) {\n\n let content = value.content;\n if (!content) {\n const fields = Object.keys(value).sort();\n for (let field of fields) {\n const subContent = value[field].content;\n if (subContent) {\n content = subContent;\n break;\n }\n }\n }\n\n if (!content || !content[contentType]) {\n return undefined;\n }\n\n return content[contentType].schema;\n }\n\n private unmarshallEndpointResponse(value: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[]): OpenApiPathEndpointResponse[] | undefined {\n if (!value) {\n return undefined;\n }\n const result: OpenApiPathEndpointResponse[] = [];\n const keys = Object.keys(value);\n\n keys.sort();\n for (let key of keys) {\n const response = value[key];\n let contentType: string | undefined;\n let schema: OpenApiSchema | undefined;\n\n let examples: Example[] = [];\n if (response.content) {\n contentType = Object.keys(response.content)[0];\n const responseContent = response.content[contentType];\n const rawSchema: any = responseContent.schema;\n\n\n if (responseContent.examples) {\n examples = this.unmarshallEndpointResponseExample(responseContent.examples);\n }\n if (rawSchema) {\n let type: string | undefined = rawSchema.type;\n\n let ref: string | undefined = rawSchema['$ref']\n if (rawSchema['items']) {\n let items: any = rawSchema['items']\n ref = items ? items['$ref'] : undefined;\n }\n\n schema = objectTypeCache.find(v => v.name === ref);\n\n if (!schema) {\n let schemaData: any | undefined = this.extractSchema(value, contentType);\n\n const objectType = this.renderType(schemaData, schemaTypes, objectTypeCache);\n\n schema = {\n type : type,\n ref : this.extractObjectTypeValue(objectType?.value),\n array: objectType?.array,\n name : objectType?.name\n };\n if (ref) {\n objectTypeCache.push({\n name : ref,\n value: schema\n });\n }\n\n }\n\n\n }\n }\n\n\n result.push({\n status : key,\n description: response.description,\n contentType: contentType,\n headers : this.unmarshallEndpointResponseHeader(response.headers),\n schema : schema,\n examples : examples.length > 0 ? examples : undefined\n });\n }\n\n return result;\n }\n\n private extractObjectTypeValue(value: any) {\n if(Array.isArray(value) && value.length>0){\n return value[0];\n }\n return value;\n }\n\n private unmarshallEndpointResponseHeader(value: any): undefined | Header[] {\n if (!value) {\n return undefined;\n }\n const result: Header[] = [];\n\n const keys: string[] = Object.keys(value);\n keys.sort();\n\n for (let key of keys) {\n const item = value[key];\n result.push({\n name : key,\n description : item.description,\n externalDocs: item.externalDocs,\n style : item.style\n });\n }\n\n return result;\n }\n\n private unmarshallEndpointResponseExample(value: any): Example[] {\n const result: Example[] = [];\n\n const keys: string[] = Object.keys(value);\n keys.sort();\n for (let key of keys) {\n const item = value[key];\n\n let valueContent = undefined;\n if (item.value) {\n if (typeof item.value == 'string') {\n valueContent = item.value;\n } else {\n valueContent = JSON.stringify(item.value, null, 2);\n }\n }\n\n result.push({\n name : key,\n summary : item.summary,\n description : item.externalDocs,\n value : valueContent,\n externalValue: item.externalValue,\n extensions : this.extractExtension(item)\n });\n }\n\n return result;\n }\n\n\n private extractExtension(value: any): Extension[] | undefined {\n if (!value) {\n return undefined;\n }\n const result: Extension[] = [];\n\n const keys: string[] = Object.keys(value);\n keys.sort();\n for (let key of keys) {\n if (key.startsWith('x-')) {\n result.push({\n name : key.substring(2),\n value: value[key]\n });\n }\n }\n\n return result.length == 0 ? undefined : result;\n }\n\n\n private unmarshallTags(value: any): Tags[] {\n const result: Tags[] = [];\n if (value == undefined || !Array.isArray(value)) {\n return result;\n }\n\n for (let tag of value) {\n if (tag.name) {\n const currentTag: Tags = {name: tag.name}\n if (tag.description) {\n currentTag.description = tag.description;\n }\n const externalDoc = this.unmarshallExternalDocs(tag.externalDocs);\n if (externalDoc) {\n currentTag.externalDocs = externalDoc;\n }\n\n result.push(currentTag);\n }\n\n }\n\n return result;\n }\n\n private unmarshallExtension(value: any): any | undefined {\n if (!value) {\n return undefined;\n }\n\n const result: any = {};\n const keys = Object.keys(value);\n keys.sort();\n\n for (let key of keys) {\n if (key.startsWith(\"x-\")) {\n result[key.substring(2)] = value[key];\n }\n }\n\n return result;\n }\n\n\n private renderType(schema: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[],\n level?: number): ObjectType | undefined {\n if (!schema || (level! > 5)) {\n return undefined;\n }\n\n const array = schema.type == 'array';\n let type: string = '';\n if (array) {\n if (schema.items) {\n type = schema.items['$ref'];\n }\n } else {\n type = schema.ref;\n }\n\n let currentType: any = undefined;\n if (schemaTypes?.schemas) {\n for (let item of schemaTypes?.schemas) {\n if (type == item.id) {\n currentType = item;\n break;\n }\n }\n }\n\n if (currentType?.name) {\n const cachedValue = objectTypeCache.find(v => v.name === currentType.name);\n if (cachedValue) {\n return cachedValue;\n }\n }\n\n\n let object: any = {};\n if (currentType && currentType.properties) {\n object = this.convertObjectPropertiesToObject(currentType.properties,\n currentType.example ? currentType.example : {},\n schemaTypes,\n objectTypeCache,\n level ? level + 1 : 0);\n }\n\n const result: ObjectType = {\n array: array,\n name : currentType?.name,\n value: array ? [object] : object\n }\n if (currentType?.name) {\n objectTypeCache.push({\n name : currentType.name,\n value: result\n });\n }\n\n return result;\n }\n\n private convertObjectPropertiesToObject(properties: any,\n example: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[],\n level: number): any {\n if (!properties) {\n return undefined;\n }\n if (level > 20) {\n return {};\n }\n const object: any = {};\n for (let property of properties) {\n if (!property.name) {\n continue;\n }\n const type = property.type ? property.type : 'object';\n const sample = example[property.name];\n\n switch (type) {\n case 'string':\n if ('date' == property.format) {\n object[property.name] = sample ? sample : 'yyyyMMdd';\n } else if ('date-time' == property.format) {\n object[property.name] = sample ? sample : 'yyyyMMddTHH:mm:ss';\n } else {\n object[property.name] = sample ? sample : 'string';\n }\n\n break\n case 'number':\n if ('float' == property.format || 'double' == property.format) {\n object[property.name] = sample ? sample : 0.0;\n } else {\n object[property.name] = sample ? sample : 0;\n }\n break\n case 'integer':\n object[property.name] = sample ? sample : 0;\n break\n case 'boolean':\n object[property.name] = false;\n break;\n case 'array':\n object[property.name] = this.convertArray(property,\n property.example ? property.example : {}, schemaTypes,\n objectTypeCache,\n level + 1);\n break;\n default:\n const subType = this.renderType({ref: property.ref}, schemaTypes, objectTypeCache, level + 1);\n object[property.name] = subType?.value;\n break;\n }\n\n }\n return object;\n }\n\n private convertArray(property: any,\n example: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[],\n level: number): any[] {\n const result: any = [];\n const type = property.type ? property.type : 'object';\n const sample = example[property.name];\n switch (type) {\n case 'string':\n if ('date' == property.format) {\n result.push(sample ? sample : 'yyyyMMdd');\n } else if ('date-time' == property.format) {\n result.push(sample ? sample : 'yyyyMMddTHH:mm:ss');\n } else {\n result.push(sample ? sample : 'string');\n }\n break\n case 'number':\n if ('float' == property.format || 'double' == property.format) {\n result.push(sample ? sample : 0.0);\n } else {\n result.push(sample ? sample : 0);\n }\n break\n case 'integer':\n result.push(sample ? sample : 0);\n break\n case 'boolean':\n result.push(false);\n break;\n default:\n const subType = this.renderType({ref: property.ref}, schemaTypes, objectTypeCache, level + 1);\n result.push(subType ? subType.value : {});\n break;\n }\n return result;\n }\n\n\n\n}\n","import {Component, input} from '@angular/core';\nimport {OpenApiPathEndpointParameter} from '../../open-api.model';\nimport {InuCode} from 'inugami-ng/components/inu-code';\n\nconst SPACE : string = ' ';\n\n@Component({\n selector: 'inu-open-api-parameters',\n standalone: true,\n providers: [],\n imports: [InuCode],\n templateUrl: './inu-open-api-parameters.html',\n styleUrl: './inu-open-api-parameters.scss',\n})\nexport class InuOpenApiParameters{\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n data = input<OpenApiPathEndpointParameter[] | undefined | null>(undefined);\n parameterExamples :any = {}\n\n //==================================================================================================================\n // ACTION\n //==================================================================================================================\n toggleExample(index:number){\n const value = this.parameterExamples[index];\n if(value == undefined){\n this.parameterExamples[index] = true;\n }else{\n this.parameterExamples[index] = !value;\n }\n }\n\n\n //==================================================================================================================\n // GETTERS\n //==================================================================================================================\n getRowClass(index:number, first:boolean, odd:boolean, styleclass?:string):string{\n const result :string[]= [`flex-table-body-row index-${index}`];\n if(first){\n result.push('first');\n }\n if(odd){\n result.push('odd');\n }\n\n if(styleclass){\n result.push(styleclass);\n }\n return result.join(SPACE);\n }\n getParameterClass(index:number, styleclass:string):string{\n const result: string[]= [styleclass];\n const toggle = this.parameterExamples[index];\n if(toggle){\n result.push('display')\n }\n\n return result.join(' ');\n\n }\n}\n","<div class=\"inu-open-api-parameters\">\n @if (data()) {\n <div class=\"inu-flex-table\">\n <div class=\"flex-table-header\">\n <div class=\"flex-table-header-th name\">Name</div>\n <div class=\"flex-table-header-th type\">Type</div>\n <div class=\"flex-table-header-th desc\">Description</div>\n <div class=\"flex-table-header-th examples\">Examples</div>\n </div>\n\n\n <div class=\"flex-table-body\">\n\n @for (parameter of data(); track parameter.name; let index = $index; let isFirst = $first; let isOdd = $odd) {\n <div [class]=\"getRowClass(index,isFirst, isOdd , (parameter.deprecated?'deprecated': ''))\">\n <div class=\"flex-table-body-cell\">\n <span>{{parameter.name}}</span>\n @if (parameter.required) {\n <span class=\"required\"><span class=\"label\"></span></span>\n } @else {\n <span></span>\n }\n </div>\n <div class=\"flex-table-body-cell\">{{parameter.schema?.type}}</div>\n <div class=\"flex-table-body-cell\">{{parameter.description}}</div>\n <div class=\"flex-table-body-cell\">\n @if(parameter.example){\n <div class=\"parameters-main-example\">\n <inu-code [source]=\"parameter.example\"></inu-code>\n </div>\n }\n\n @if(parameter.examples && parameter.examples.length>0){\n <div class=\"parameters-examples\">\n @for (example of parameter.examples; track example.name; let paramIndex = $index; let firstExample = $first; let oddExample = $odd) {\n <div [class]=\"getRowClass(paramIndex,firstExample, oddExample ,'parameter-example')\">\n <div [class]=\"getParameterClass(paramIndex,'parameter-example-header')\" (click)=\"toggleExample(paramIndex)\">\n {{example.name}}\n </div>\n <dl [class]=\"getParameterClass(paramIndex,'example-content')\">\n <dt>Summary</dt>\n <dd>{{example.summary}}</dd>\n\n <dt>External value</dt>\n <dd>{{example.externalValue}}</dd>\n\n <dt>Description</dt>\n <dd>{{example.description}}</dd>\n\n <dt>Value</dt>\n <dd><inu-code [source]=\"example.value\"></inu-code></dd>\n\n </dl>\n </div>\n }\n </div>\n }\n\n </div>\n </div>\n }\n\n </div>\n </div>\n }\n</div>\n","import {Component, effect, input, signal, WritableSignal} from '@angular/core';\nimport {Extension} from '../../open-api.model';\n\n@Component({\n selector: 'inu-open-api-extension',\n standalone: true,\n providers: [],\n imports: [],\n templateUrl: './inu-open-api-extension.html',\n styleUrl: './inu-open-api-extension.scss',\n})\nexport class InuOpenApiExtension {\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n data = input<any | undefined | null>(undefined);\n\n keys: WritableSignal<string[]> = signal([]);\n _type: WritableSignal<string|null> = signal(null);\n\n //==================================================================================================================\n // INIT\n //==================================================================================================================\n constructor() {\n effect(() => {\n this.init()\n });\n }\n\n private init() {\n if (!this.data()) {\n return;\n }\n if(Array.isArray(this.data)){\n this._type.set('array');\n const keys = [];\n for(let i=0; i<this.data.length; i++){\n keys.push(`${i}`);\n }\n this.keys.set(keys);\n }\n else if(typeof this.data == 'object'){\n this._type.set('object');\n const keys = Object.keys(this.data);\n keys.sort();\n this.keys.set(keys);\n }else{\n this._type.set('primitive');\n }\n }\n //==================================================================================================================\n // GETTERS\n //==================================================================================================================\n getChild(key:string):Extension|undefined{\n const data = this.data();\n if(this._type()=='array'){\n const index:number= Number(key);\n if(Array.isArray(data) && data.length> index){\n return data[index];\n }else{\n return undefined;\n }\n\n }else{\n return data[key];\n }\n }\n}\n","<div class=\"inu-open-api-extension\">\n @if(data()){\n <div class=\"inu-extension\">\n @if(keys()){\n <dl class=\"inu-extension-content\">\n @for (key of keys(); track key; let index = $index; let isFirst = $first; let isOdd = $odd) {\n <dt [class.first]=\"isFirst\" [class.odd]=\"isOdd\">{{key}}</dt>\n <dd [class.first]=\"isFirst\" [class.odd]=\"isOdd\">\n <inu-open-api-extension [data]=\"getChild(key)\"></inu-open-api-extension>\n </dd>\n }\n </dl>\n }\n\n @if(_type()== 'primitive'){\n {{data()}}\n }\n </div>\n }\n</div>\n","import {Component, effect, input, signal, WritableSignal} from '@angular/core';\nimport {Example, OpenApiComponentSchema, OpenApiPathEndpointResponse} from '../../open-api.model';\nimport {InuIcon} from 'inugami-icons';\nimport {InuCode,InternalSourceCode} from 'inugami-ng/components/inu-code';\nimport {InuOpenApiExtension} from '../inu-open-api-extension/inu-open-api-extension';\n\n@Component({\n selector: 'inu-open-api-response',\n standalone: true,\n providers: [],\n imports: [\n InuIcon,\n InuCode,\n InuOpenApiExtension\n ],\n templateUrl: './inu-open-api-response.html',\n styleUrl: './inu-open-api-response.scss',\n})\nexport class InuOpenApiResponse {\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n data = input<OpenApiPathEndpointResponse | undefined | null>(undefined);\n schemas = input<OpenApiComponentSchema[] | undefined | null>(null);\n\n status: WritableSignal<number | null> = signal(null);\n examplesSources: WritableSignal<InternalSourceCode[]> = signal([]);\n //==================================================================================================================\n // INIT\n //==================================================================================================================\n constructor() {\n effect(() => {\n this.init()\n });\n }\n\n private init() {\n if (!this.data()) {\n return;\n }\n const httpStatus = this.data()?.status!;\n try {\n this.status.set(Number(httpStatus));\n } catch (e){}\n\n this.initExampleSources();\n }\n private initExampleSources() {\n const result : InternalSourceCode[] = [];\n const examples =this.data()?.examples;\n if (examples) {\n for(let example of examples){\n result.push({\n content: example.value!,\n type: 'json',\n title : example.name\n })\n }\n }\n\n this.examplesSources.set(result);\n }\n //==================================================================================================================\n // ACTION\n //==================================================================================================================\n toggleExample(index:number){\n const examples = this.data()?.examples;\n if(!examples || examples.length<=index){\n return ;\n }\n const example =examples[index];\n const display = example.display==undefined ? false :example.display;\n example.display = !display;\n }\n //==================================================================================================================\n // GETTERS\n //==================================================================================================================\n computeExampleClass(example: Example, isFirst: boolean, isOdd: boolean): string {\n const result = ['response-example'];\n\n if (isFirst) {\n result.push('first');\n }\n if (isOdd) {\n result.push('odd');\n }\n const status = this.status();\n if (status) {\n if (status < 400) {\n result.push('status-success');\n }\n if (status < 500) {\n result.push('status-warning');\n }\n else{\n result.push('status-error');\n }\n }\n\n return result.join(' ');\n }\n getExampleDisplayStatus(index:number){\n const examples = this.data()?.examples;\n if(!examples || examples.length<=index){\n return false;\n }\n const example =examples[index];\n return example.display==undefined ? false :example.display;\n }\n\n getExamplesSource(index:number):InternalSourceCode|undefined{\n if(!this.examplesSources() || this.examplesSources().length<=index){\n return undefined;\n }\n return this.examplesSources()[index];\n }\n\n\n}\n","@if(data()){\n <div class=\"inu-open-api-response\">\n <div class=\"description\">{{data()?.description}}</div>\n <div class=\"content-type\">{{data()?.contentType}}</div>\n\n <div class=\"response-examples\">\n @if(data()?.examples){\n @for (example of data()?.examples; track example.name; let index = $index; let isFirst = $first; let isOdd = $odd) {\n <div class=\"response-example\" [class]=\"computeExampleClass(example, isFirst, isOdd)\">\n <div class=\"response-example-header\" (click)=\"toggleExample(index)\">\n <div class=\"response-example-header-labels\" >\n <span class=\"response-example-header-name\" >{{example.name}}</span>\n <span class=\"response-example-header-summary\">{{example.summary}}</span>\n </div>\n\n <span class=\"button open\" [class.displayStatus]=\"getExampleDisplayStatus(index)\">\n @if(example.description || example.externalValue || example.extensions || getExamplesSource(index)?.content){\n <inu-icon [icon]=\"getExampleDisplayStatus(index)?'chevron_up':'chevron_down'\" [size]=\"1\"></inu-icon>\n }\n </span>\n </div>\n @if(example.description || example.externalValue || example.extensions || getExamplesSource(index)?.content){\n <div class=\"response-example-content\" [class.display]=\"getExampleDisplayStatus(index)\">\n\n @if(example.description || example.externalValue || example.extensions){\n <dl class=\"example-content\">\n @if(example.description){\n <dt>Description</dt>\n <dd>{{example.description}}</dd>\n }\n @if(example.externalValue){\n <dt>External value</dt>\n <dd>{{example.externalValue}}</dd>\n }\n\n @if(example.extensions){\n @for (extension of example.extensions; track extension.name) {\n <dt>{{extension.name}}</dt>\n <dd><inu-open-api-extension [data]=\"extension\"></inu-open-api-extension></dd>\n }\n }\n </dl>\n }\n\n @if(getExamplesSource(index)?.content){\n @if(getExamplesSource(index)?.content && getExamplesSource(index)?.content !=''){\n <inu-code [source]=\"getExamplesSource(index)?.content\"\n [type]=\"getExamplesSource(index)?.type\"\n [title]=\"getExamplesSource(index)?.title\"></inu-code>\n }\n }\n\n </div>\n }\n\n\n </div>\n }\n }\n\n\n\n </div>\n </div>\n}\n","import {Component, effect, input, signal, WritableSignal} from '@angular/core';\nimport {\n OpenApiComponentSchema,\n OpenApiPathEndpoint,\n OpenApiPathEndpointParameter,\n OpenApiPathEndpointResponse\n} from '../../open-api.model';\nimport {InuOpenApiParameters} from '../inu-open-api-parameters/inu-open-api-parameters';\nimport {InuCode, InternalSourceCode} from 'inugami-ng/components/inu-code';\nimport {InuOpenApiResponse} from '../inu-open-api-response/inu-open-api-response';\nimport {InuIcon} from 'inugami-icons';\n\nconst SPACE = ' ';\n\n@Component({\n selector: 'inu-open-api-endpoint',\n standalone: true,\n providers: [],\n imports: [InuOpenApiParameters, InuOpenApiResponse, InuCode, InuIcon],\n templateUrl: './inu-open-api-endpoint.html',\n styleUrl: './inu-open-api-endpoint.scss',\n})\nexport class InuOpenApiEndpoint {\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n data = input<OpenApiPathEndpoint | undefined | null>(undefined);\n schemas = input<OpenApiComponentSchema[] | undefined | null>(null);\n styleClass: WritableSignal<string> = signal('');\n display: WritableSignal<string> = signal('inu-open-api-endpoint-content-display hidden');\n\n parameters: WritableSignal<OpenApiPathEndpointParameter[] | null> = signal(null);\n headers: WritableSignal<OpenApiPathEndpointParameter[] | null> = signal(null);\n options: WritableSignal<OpenApiPathEndpointParameter[] | null> = signal(null);\n\n\n request: WritableSignal<InternalSourceCode | null> = signal(null);\n responseMain: WritableSignal<OpenApiPathEndpointResponse | null> = signal(null);\n response: WritableSignal<InternalSourceCode | null> = signal(null);\n\n //==================================================================================================================\n // INIT\n //==================================================================================================================\n constructor() {\n effect(() => {\n this.init()\n });\n }\n\n private init() {\n this.initStyle();\n this.initParameters();\n this.initRequest();\n this.initResponse();\n }\n\n private initStyle() {\n const styles = ['inu-open-api-endpoint'];\n if (this.data()) {\n styles.push(this.data()?.verb!);\n }\n\n this.styleClass.set(styles.join(SPACE));\n }\n\n private initParameters() {\n const dataParameters = this.data()?.parameters;\n if (!dataParameters) {\n return\n }\n const parameters: OpenApiPathEndpointParameter[] = [];\n const options: OpenApiPathEndpointParameter[] = [];\n const headers: OpenApiPathEndpointParameter[] = [];\n\n\n for (let param of dataParameters) {\n if ('path' == param.in) {\n parameters.push(param);\n } else if ('header' == param.in) {\n headers.push(param);\n } else {\n options.push(param);\n }\n }\n if (parameters.length > 0) {\n this.parameters.set(parameters);\n }\n if (headers.length > 0) {\n this.headers.set(headers);\n }\n if (options.length > 0) {\n this.options.set(options);\n }\n }\n\n initRequest() {\n const data = this.data();\n if (!data) {\n return;\n }\n const contentType = data.requestBody?.contentType ? data.requestBody.contentType : 'text'\n let content: string | undefined = undefined;\n let type: string = this.resolveType(contentType);\n let name: string | undefined = undefined;\n if (data.requestBody?.schema) {\n const schema = data.requestBody.schema;\n if (schema?.ref) {\n content = JSON.stringify(data.requestBody.schema?.ref, null, 4);\n }\n\n if (schema.name) {\n name = schema.array ? `${schema.name}[]` : schema.name;\n }\n\n }\n\n if (content) {\n this.request.set({\n content: content,\n title: name,\n type: type\n })\n }\n }\n\n initResponse() {\n const data = this.data();\n if (!data) {\n return;\n }\n const responses = data.responses ? data.responses : [];\n if (responses.length == 0) {\n return;\n }\n const successResponse = responses.filter((r) => this.convertToNumber(r.status) < 300);\n\n if (successResponse && successResponse.length > 0) {\n const mainResponse = successResponse[0];\n\n this.responseMain.set(mainResponse);\n const contentType = mainResponse.contentType ? mainResponse.contentType : 'text'\n let content: string | undefined = undefined;\n let type: string = this.resolveType(contentType);\n let name: string | undefined = undefined;\n if (mainResponse.schema) {\n const schema = mainResponse.schema;\n if (schema?.ref) {\n content = JSON.stringify(mainResponse.schema?.ref, null, 4);\n }\n\n if (schema.name) {\n name = schema.array ? `${schema.name}[]` : schema.name;\n }\n\n }\n\n if (content) {\n this.response.set({\n content: content,\n title: name,\n type: type\n })\n }\n }\n\n }\n\n //==================================================================================================================\n // INIT\n //==================================================================================================================\n toggleDisplay() {\n if ('inu-open-api-endpoint-content-display hidden' == this.display()) {\n this.display.set('inu-open-api-endpoint-content-display show');\n } else {\n this.display.set('inu-open-api-endpoint-content-display hidden');\n }\n }\n\n private resolveType(contentType: string): string {\n if (contentType == 'text' || contentType == 'text/plain') {\n return 'text';\n }\n const parts = contentType.split('application/');\n return parts.length == 2 ? parts[1].toLowerCase() : 'text';\n\n }\n\n private convertToNumber(value?: string): number {\n if (!value) {\n return 0;\n }\n try {\n return Number(value);\n } catch (e) {\n return 0;\n }\n }\n\n getRowClass(index: number, first: boolean, odd: boolean, styleclass?: string): string {\n const result: string[] = [`flex-table-body-row index-${index}`];\n if (first) {\n result.push('first');\n }\n if (odd) {\n result.push('odd');\n }\n\n if (styleclass) {\n result.push(styleclass);\n }\n return result.join(SPACE);\n }\n\n computeStatusStyleClass(status?:string): string {\n const result = ['inu-endpoint-response-status'];\n\n const httpStatus = this.convertToNumber(status);\n if(httpStatus<400){\n result.push('success');\n }\n else if(httpStatus<500){\n result.push('warning');\n }\n else{\n result.push('error');\n }\n\n return result.join(SPACE)\n }\n}\n","@if (data()) {\n <article [class]=\"styleClass()\">\n <header>\n <h2 (click)=\"toggleDisplay()\">\n <span class=\"inu-endpoint-verb\">{{ data()?.verb }}</span>\n <span class=\"inu-endpoint-url\">{{ data()?.url }}</span>\n </h2>\n <span class=\"button open\" (click)=\"toggleDisplay()\">\n <inu-icon [icon]=\"display() == 'inu-open-api-endpoint-content-display show'?'chevron_up':'chevron_down'\" [size]=\"1\"></inu-icon>\n </span>\n </header>\n\n <div class=\"inu-open-api-endpoint-content\">\n <div [class]=\"display()\">\n <!--==============================================================================================================\n = INFORMATION\n ===============================================================================================================-->\n @if (parameters()) {\n <fieldset class=\"information\">\n <label>Information</label>\n <div class=\"content\">\n <inu-open-api-parameters [data]=\"parameters()\"></inu-open-api-parameters>\n </div>\n </fieldset>\n }\n\n <!--==============================================================================================================\n = HEADERS\n ===============================================================================================================-->\n @if (headers()) {\n <fieldset class=\"headers\">\n <label>Headers</label>\n <div class=\"content\">\n <inu-open-api-parameters [data]=\"headers()\"></inu-open-api-parameters>\n </div>\n </fieldset>\n }\n\n <!--==============================================================================================================\n = OPTION\n ===============================================================================================================-->\n @if (options()) {\n <fieldset class=\"options\">\n <label>Options</label>\n <div class=\"content\">\n <inu-open-api-parameters [data]=\"options()\"></inu-open-api-parameters>\n </div>\n </fieldset>\n }\n\n <!--==============================================================================================================\n = REQUEST\n ===============================================================================================================-->\n @if (data()?.requestBody) {\n <fieldset class=\"request\">\n <label>Request</label>\n <div class=\"content\">\n <div class=\"description\">{{ data()?.requestBody?.description! }}</div>\n <div class=\"content-type\">{{ data()?.requestBody?.contentType! }}</div>\n\n @if (request()) {\n <div class=\"schema\">\n <inu-code [source]=\"request()?.content\" [type]=\"request()?.type\"\n [title]=\"request()?.title\"></inu-code>\n </div>\n }\n </div>\n </fieldset>\n }\n <!--==============================================================================================================\n = RESPONSE\n ===============================================================================================================-->\n\n @if (data()?.responses) {\n <fieldset class=\"response\">\n <label>Response</label>\n\n <div class=\"content\">\n\n <div class=\"response-table\">\n <div class=\"response-table-body\">\n @for (response of data()?.responses; track response.status; let index = $index; let isFirst = $first; let isOdd = $odd) {\n <div [class]=\"getRowClass(index,isFirst, isOdd)\">\n <div [class]=\"computeStatusStyleClass(response.status)\">\n {{ response.status }}\n </div>\n <div class=\"description-content\">\n <inu-open-api-response [data]=\"response\" [schemas]=\"schemas()\"></inu-open-api-response>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </fieldset>\n }\n </div>\n </div>\n </article>\n}\n\n","import {Component, effect, inject, input, signal, WritableSignal} from '@angular/core';\nimport {InuCacheServices} from \"inugami-ng/services\";\nimport {map, Observable, shareReplay, tap} from \"rxjs\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {OpenApi} from './open-api.model';\nimport {InuOpenApiServices} from './inu-open-api.service';\nimport {InuOpenApiEndpoint} from './components/inu-open-api-endpoint/inu-open-api-endpoint';\n\n\nconst CACHE_PREFIX = 'inu-open-api_';\n\n@Component({\n selector: 'inu-open-api',\n standalone: true,\n imports: [\n InuOpenApiEndpoint\n ],\n templateUrl: './inu-open-api.html',\n styleUrl: './inu-open-api.scss',\n})\nexport class InuOpenApi {\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n url = input<string | undefined | null>(undefined);\n data = input<OpenApi | undefined | null>(undefined);\n private readonly http = inject(HttpClient);\n private readonly cache = inject(InuCacheServices);\n private readonly inuOpenApiService = inject(InuOpenApiServices);\n\n _value: WritableSignal<OpenApi | null> = signal<OpenApi | null>(null);\n\n //==================================================================================================================\n // INITIALIZE\n //==================================================================================================================\n constructor() {\n effect(() => this.init());\n }\n\n init(): void {\n const data = this.data();\n const url = this.url();\n if (data) {\n this.initOpenApi(data)\n } else if (url) {\n this.loadFormUrl(url);\n }\n }\n\n loadFormUrl(url: string) {\n const data: OpenApi | undefined = this.loadFormCache(url);\n if (data) {\n\n return;\n }\n const cacheKey = CACHE_PREFIX + url;\n const pending: Observable<OpenApi> | undefined = this.cache.getPending(cacheKey);\n if (pending) {\n pending.subscribe(res => this.initOpenApi(this.inuOpenApiService.convertToOpenApi(res)));\n return;\n }\n\n const request = this.http.get<any>(url)\n .pipe(tap(data => {\n this.cache.set(cacheKey, data);\n }),\n shareReplay(1)\n );\n this.cache.setPending(cacheKey, request);\n request.subscribe({\n next: value => this.initOpenApi(this.inuOpenApiService.convertToOpenApi(value))\n });\n\n }\n\n\n //==================================================================================================================\n // PARSE\n //==================================================================================================================\n initOpenApi(openApi: OpenApi) {\n openApi.paths?.sort((value, ref)=> {\n if(value.url=== ref.url){\n return `${value.verb}`.toLowerCase().localeCompare(`${ref.verb}`.toUpperCase());\n }\n return `${value.url}`.toLowerCase().localeCompare(`${ref.url}`.toUpperCase());\n });\n this._value.set(openApi);\n }\n\n //==================================================================================================================\n // TOOLS\n //==================================================================================================================\n loadFormCache(url: string): OpenApi | undefined {\n const cacheKey = CACHE_PREFIX + url;\n const result: OpenApi | undefined = this.cache.get(cacheKey);\n return result;\n }\n\n setToCache(url: string, value: any): void {\n const cacheKey = CACHE_PREFIX + url;\n if (value) {\n this.cache.set(cacheKey, value);\n }\n }\n\n}\n","<div class=\"inu-open-api\">\n @if(_value()){\n\n <section>\n @if(_value()?.info){\n <header>\n <h2>{{_value()?.info?.title!}}</h2>\n <h3>{{_value()?.info?.version!}}</h3>\n <p>\n {{_value()?.info?.description!}}\n </p>\n </header>\n }\n\n <!--<inu-open-api-filter></inu-open-api-filter>-->\n <div class=\"endpoints\">\n @if(_value()?.paths){\n @for (endpoint of _value()?.paths;track endpoint.uri;) {\n <inu-open-api-endpoint [data]=\"endpoint\" [schemas]=\"_value()?.components?.schemas\"></inu-open-api-endpoint>\n }\n }\n </div>\n </section>\n }\n</div>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'inu-open-api-request',\n standalone: true,\n providers: [],\n imports: [],\n templateUrl: './inu-open-api-request.html',\n styleUrl: './inu-open-api-request.scss',\n})\nexport class InuOpenApiRequest {\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n\n}\n","","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SPACE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inugami-ng-components-inu-open-api.mjs","sources":["../../../projects/inugami-ng/components/inu-open-api/inu-open-api.service.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-parameters/inu-open-api-parameters.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-parameters/inu-open-api-parameters.html","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-extension/inu-open-api-extension.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-extension/inu-open-api-extension.html","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-response/inu-open-api-response.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-response/inu-open-api-response.html","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-endpoint/inu-open-api-endpoint.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-endpoint/inu-open-api-endpoint.html","../../../projects/inugami-ng/components/inu-open-api/inu-open-api.ts","../../../projects/inugami-ng/components/inu-open-api/inu-open-api.html","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-request/inu-open-api-request.ts","../../../projects/inugami-ng/components/inu-open-api/components/inu-open-api-request/inu-open-api-request.html","../../../projects/inugami-ng/components/inu-open-api/inugami-ng-components-inu-open-api.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {\n Example,\n Extension,\n ExternalDocs,\n Header,\n ObjectType,\n OpenApi,\n OpenApiComponent,\n OpenApiComponentSchema,\n OpenApiComponentSecurityScheme,\n OpenApiInfo,\n OpenApiPathEndpoint,\n OpenApiPathEndpointParameter,\n OpenApiPathEndpointRequestBody,\n OpenApiPathEndpointResponse,\n OpenApiProperty,\n OpenApiSchema,\n OpenApiServer,\n Tags\n} from \"./open-api.model\";\n\nconst VERBS: string[] = ['get', 'put', 'post', 'delete', 'options', 'patch', 'trace'];\n\ninterface ObjectTypeCache {\n name: string;\n value: ObjectType | OpenApiSchema;\n}\n\n@Injectable({providedIn: 'root'})\nexport class InuOpenApiServices {\n\n\n // =================================================================================================================\n // API\n // =================================================================================================================\n public convertToOpenApi(response: any): OpenApi {\n const schemaTypes: OpenApiComponent | undefined = this.unmarshallComponents(response.components);\n const objectTypeCache: ObjectTypeCache[] = [];\n const result = {\n openapi : response.openapi,\n components : this.unmarshallComponents(response.components),\n externalDocs: this.unmarshallExternalDocs(response.externalDocs),\n info : this.unmarshallInfo(response.info),\n paths : this.unmarshallPaths(response.paths, schemaTypes, objectTypeCache),\n servers : this.unmarshallServers(response.servers),\n tags : this.unmarshallTags(response.tags)\n };\n\n return result;\n }\n\n\n // =================================================================================================================\n // PRIVATE\n // =================================================================================================================\n private unmarshallComponents(components: any): OpenApiComponent | undefined {\n if (!components) {\n return undefined;\n }\n return {\n schemas : this.unmarshallComponentsSchemas(components.schemas),\n securitySchemes: this.unmarshallComponentsSecuritySchemes(components.securitySchemes)\n };\n }\n\n private unmarshallComponentsSchemas(schemas: any): OpenApiComponentSchema[] | undefined {\n const result: OpenApiComponentSchema[] = [];\n if (!schemas) {\n return result;\n }\n\n const keys = Object.keys(schemas);\n keys.sort();\n for (let key of keys) {\n\n const properties: OpenApiProperty[] = [];\n const rawProperties = schemas[key].properties;\n if (rawProperties) {\n const propertyKeys = Object.keys(rawProperties);\n for (let propertyKey of propertyKeys) {\n const property = rawProperties[propertyKey];\n\n let additionalProperties: OpenApiProperty | undefined;\n if (property.additionalProperties) {\n additionalProperties = {\n type: property.additionalProperties.type\n }\n }\n\n let items: OpenApiSchema | undefined;\n if (property.items) {\n items = {\n type : property.items.type,\n format: property.items.format,\n ref : property.items['$ref'] ? property.items['$ref'] : undefined\n };\n }\n const propertyItem: OpenApiProperty = {\n type: property.type,\n ref : property['$ref'],\n name: propertyKey\n };\n\n if (additionalProperties) {\n propertyItem.additionalProperties = additionalProperties;\n }\n if (items) {\n propertyItem.items = items;\n }\n\n properties.push(propertyItem);\n }\n }\n\n result.push({\n id : `#/components/schemas/${key}`,\n name : key,\n type : schemas[key].type,\n properties: properties\n });\n }\n\n return result;\n }\n\n private unmarshallComponentsSecuritySchemes(schemas: any): OpenApiComponentSecurityScheme[] | undefined {\n const result: OpenApiComponentSecurityScheme[] = [];\n if (!schemas) {\n return result;\n }\n\n const keys = Object.keys(schemas);\n keys.sort();\n for (let key of keys) {\n const value = schemas[key];\n result.push({\n name : key,\n type : value.type,\n scheme: value.scheme\n });\n }\n\n return result;\n }\n\n private unmarshallExternalDocs(externalDocs: any): ExternalDocs | undefined {\n return !externalDocs ? undefined : {\n url : externalDocs.url,\n description: externalDocs.description,\n extension : this.unmarshallExtension(externalDocs)\n };\n }\n\n private unmarshallInfo(info: any): OpenApiInfo | undefined {\n return {\n title : info.title,\n description: info.description,\n version : info.version\n }\n }\n\n private unmarshallServers(servers: any): OpenApiServer[] | undefined {\n const result: OpenApiServer[] = [];\n if (!servers) {\n return result;\n }\n for (let server of servers) {\n result.push({\n url : server.url,\n description: server.description\n });\n }\n return result;\n }\n\n\n private unmarshallPaths(paths: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[]): OpenApiPathEndpoint[] {\n const result: OpenApiPathEndpoint[] = [];\n if (!paths) {\n return result;\n }\n\n const keys = Object.keys(paths);\n keys.sort();\n for (let key of keys) {\n const path = paths[key];\n const verbKeys = Object.keys(path);\n verbKeys.sort();\n\n for (let verbKey of verbKeys) {\n if (this.isVerb(verbKey)) {\n const openApiEndpoint = path[verbKey];\n const endpoint: OpenApiPathEndpoint = {\n uri : `${verbKey}_${key}`,\n url : key,\n verb : verbKey,\n tags : openApiEndpoint.tags,\n operationId: openApiEndpoint.operationId,\n summary : openApiEndpoint.summary,\n description: openApiEndpoint.description,\n parameters : this.unmarshallEndpointParameters(openApiEndpoint.parameters),\n requestBody: this.unmarshallEndpointRequestBody(openApiEndpoint.requestBody, schemaTypes, objectTypeCache),\n responses : this.unmarshallEndpointResponse(openApiEndpoint.responses, schemaTypes, objectTypeCache),\n };\n result.push(endpoint);\n }\n }\n }\n\n return result;\n }\n\n private isVerb(verb: string): boolean {\n return verb == undefined || verb == null ? false : VERBS.indexOf(verb) != -1\n }\n\n\n private unmarshallEndpointParameters(value: any): OpenApiPathEndpointParameter[] | undefined {\n if (!value) {\n return undefined;\n }\n\n const result: OpenApiPathEndpointParameter[] = [];\n for (let param of value) {\n let schema: OpenApiSchema | undefined = undefined;\n if (param.schema) {\n schema = {\n type: param.schema?.type,\n ref : param.schema['$ref']\n }\n }\n result.push({\n name : param.name,\n in : param.in,\n required : param.required,\n description : param.description,\n deprecated : param.deprecated,\n allowEmptyValue: param.allowEmptyValue,\n style : param.style,\n explode : param.explode,\n allowReserved : param.allowReserved,\n example : param.example,\n examples : this.unmarshallExamples(param.examples),\n schema : schema\n });\n }\n\n return result;\n }\n\n private unmarshallExamples(value: any): Example[] {\n const result: Example[] = [];\n if (!value) {\n return result;\n }\n\n const keys: string[] = Object.keys(value);\n keys.sort();\n for (let key of keys) {\n result.push(this.unmarshallExample(key, value[key]));\n }\n return result;\n }\n\n private unmarshallExample(name: string, value: any): Example {\n const result: Example = {\n name : name,\n summary : value.summary,\n description : value.description,\n value : value.value,\n externalValue: value.externalValue\n };\n\n let extension: any = {};\n\n const keys = Object.keys(value);\n keys.sort();\n for (let key of keys) {\n if (key.startsWith('x-')) {\n const field = key.substring(2);\n if (field) {\n extension[field] = value[key];\n }\n }\n }\n\n\n return result;\n }\n\n private unmarshallEndpointRequestBody(value: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[]): OpenApiPathEndpointRequestBody | undefined {\n if (!value) {\n return undefined;\n }\n\n let contentType: string | undefined;\n let schema: OpenApiSchema | undefined;\n\n if (value.content) {\n contentType = Object.keys(value.content)[0]\n\n let schemaData: any | undefined = this.extractSchema(value, contentType);\n\n const objectType = this.renderType(schemaData, schemaTypes, objectTypeCache);\n schema = {\n type : schemaData?.type,\n ref : objectType?.value,\n array: objectType?.array,\n name : objectType?.name\n }\n }\n\n return {\n contentType: contentType,\n schema : schema,\n required : value.required\n };\n }\n\n private extractSchema(value: any, contentType: string) {\n\n let content = value.content;\n if (!content) {\n const fields = Object.keys(value).sort();\n for (let field of fields) {\n const subContent = value[field].content;\n if (subContent) {\n content = subContent;\n break;\n }\n }\n }\n\n if (!content || !content[contentType]) {\n return undefined;\n }\n\n return content[contentType].schema;\n }\n\n private unmarshallEndpointResponse(value: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[]): OpenApiPathEndpointResponse[] | undefined {\n if (!value) {\n return undefined;\n }\n const result: OpenApiPathEndpointResponse[] = [];\n const keys = Object.keys(value);\n\n keys.sort();\n for (let key of keys) {\n const response = value[key];\n let contentType: string | undefined;\n let schema: OpenApiSchema | undefined;\n\n let examples: Example[] = [];\n if (response.content) {\n contentType = Object.keys(response.content)[0];\n const responseContent = response.content[contentType];\n const rawSchema: any = responseContent.schema;\n\n if (responseContent.examples) {\n examples = this.unmarshallEndpointResponseExample(responseContent.examples);\n }\n\n\n if (rawSchema) {\n let type: string | undefined = rawSchema.type;\n\n let ref: string | undefined = rawSchema['$ref']\n if (rawSchema['items']) {\n let items: any = rawSchema['items']\n ref = items ? items['$ref'] : undefined;\n }\n\n schema = objectTypeCache.find(v => v.name === ref);\n\n\n if (!schema) {\n let schemaData: any | undefined = this.extractSchema(value, contentType);\n\n const objectType = this.renderType(schemaData, schemaTypes, objectTypeCache);\n\n schema = {\n type : type,\n ref : this.extractObjectTypeValue(objectType?.value),\n array: objectType?.array,\n name : objectType?.name\n };\n if (ref) {\n objectTypeCache.push({\n name : ref,\n value: schema\n });\n }\n\n }\n\n\n if (examples.length == 0) {\n let renderedType = JSON.stringify(schema.array ? [schema.ref] : schema.ref, null, 2);\n if('{}'==renderedType){\n if(type=='string'){\n renderedType = '\"\"';\n }\n }\n\n examples.push({\n name : 'nominal',\n value: renderedType\n });\n }\n }\n }\n\n\n result.push({\n status : key,\n description: response.description,\n contentType: contentType,\n headers : this.unmarshallEndpointResponseHeader(response.headers),\n schema : schema,\n examples : examples.length > 0 ? examples : undefined\n });\n }\n\n return result;\n }\n\n private unmarshallEndpointResponseExample(value: any): Example[] {\n const result: Example[] = [];\n\n const keys: string[] = Object.keys(value);\n keys.sort();\n for (let key of keys) {\n const item = value[key];\n\n let valueContent = undefined;\n if (item.value) {\n if (typeof item.value == 'string') {\n valueContent = item.value;\n } else {\n valueContent = JSON.stringify(item.value, null, 2);\n }\n }\n\n result.push({\n name : key,\n summary : item.summary,\n description : item.externalDocs,\n value : valueContent,\n externalValue: item.externalValue,\n extensions : this.extractExtension(item)\n });\n }\n\n return result;\n }\n\n private extractObjectTypeValue(value: any) {\n if (Array.isArray(value) && value.length > 0) {\n return value[0];\n }\n return value;\n }\n\n private unmarshallEndpointResponseHeader(value: any): undefined | Header[] {\n if (!value) {\n return undefined;\n }\n const result: Header[] = [];\n\n const keys: string[] = Object.keys(value);\n keys.sort();\n\n for (let key of keys) {\n const item = value[key];\n result.push({\n name : key,\n description : item.description,\n externalDocs: item.externalDocs,\n style : item.style\n });\n }\n\n return result;\n }\n\n\n private extractExtension(value: any): Extension[] | undefined {\n if (!value) {\n return undefined;\n }\n const result: Extension[] = [];\n\n const keys: string[] = Object.keys(value);\n keys.sort();\n for (let key of keys) {\n if (key.startsWith('x-')) {\n result.push({\n name : key.substring(2),\n value: value[key]\n });\n }\n }\n\n return result.length == 0 ? undefined : result;\n }\n\n\n private unmarshallTags(value: any): Tags[] {\n const result: Tags[] = [];\n if (value == undefined || !Array.isArray(value)) {\n return result;\n }\n\n for (let tag of value) {\n if (tag.name) {\n const currentTag: Tags = {name: tag.name}\n if (tag.description) {\n currentTag.description = tag.description;\n }\n const externalDoc = this.unmarshallExternalDocs(tag.externalDocs);\n if (externalDoc) {\n currentTag.externalDocs = externalDoc;\n }\n\n result.push(currentTag);\n }\n\n }\n\n return result;\n }\n\n private unmarshallExtension(value: any): any | undefined {\n if (!value) {\n return undefined;\n }\n\n const result: any = {};\n const keys = Object.keys(value);\n keys.sort();\n\n for (let key of keys) {\n if (key.startsWith(\"x-\")) {\n result[key.substring(2)] = value[key];\n }\n }\n\n return result;\n }\n\n\n private renderType(schema: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[],\n level?: number): ObjectType | undefined {\n if (!schema || (level! > 5)) {\n return undefined;\n }\n\n const array = schema.type == 'array';\n let type: string = '';\n if (array) {\n if (schema.items) {\n type = schema.items['$ref'];\n if (!type && schema.items.type) {\n type = schema.items.type;\n }\n }\n } else {\n type = schema.ref;\n }\n\n let currentType: any = undefined;\n let object: any = {};\n\n if (type) {\n if (schemaTypes?.schemas) {\n for (let item of schemaTypes?.schemas) {\n if (type == item.id) {\n currentType = item;\n break;\n }\n }\n }\n\n if (currentType?.name) {\n const cachedValue = objectTypeCache.find(v => v.name === currentType.name);\n if (cachedValue) {\n return cachedValue;\n }\n }\n if (currentType && currentType.properties) {\n object = this.convertObjectPropertiesToObject(currentType.properties,\n currentType.example ? currentType.example : {},\n schemaTypes,\n objectTypeCache,\n level ? level + 1 : 0);\n }\n }\n else if (schema.properties) {\n object = this.convertObjectPropertiesToObject(Object\n .entries(schema.properties)\n .map(e => {\n const value = e[1] as any;\n return {\n name:e[0],\n format:value?.format,\n type:value?.type\n }\n }),\n {},\n schemaTypes,\n objectTypeCache,\n level ? level + 1 : 0);\n }\n\n\n const result: ObjectType = {\n array: array,\n name : currentType?.name,\n value: array ? [object] : object\n }\n if (currentType?.name) {\n objectTypeCache.push({\n name : currentType.name,\n value: result\n });\n }\n\n return result;\n }\n\n private convertObjectPropertiesToObject(properties: any,\n example: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[],\n level: number): any {\n if (!properties) {\n return undefined;\n }\n if (level > 20) {\n return {};\n }\n const object: any = {};\n for (let property of properties) {\n if (!property.name) {\n continue;\n }\n const type = property.type ? property.type : 'object';\n const sample = example[property.name];\n\n switch (type) {\n case 'string':\n if ('date' == property.format) {\n object[property.name] = sample ? sample : 'yyyyMMdd';\n } else if ('date-time' == property.format) {\n object[property.name] = sample ? sample : 'yyyyMMddTHH:mm:ss';\n } else {\n object[property.name] = sample ? sample : 'string';\n }\n\n break\n case 'number':\n if ('float' == property.format || 'double' == property.format) {\n object[property.name] = sample ? sample : 0.0;\n } else {\n object[property.name] = sample ? sample : 0;\n }\n break\n case 'integer':\n object[property.name] = sample ? sample : 0;\n break\n case 'boolean':\n object[property.name] = false;\n break;\n case 'array':\n object[property.name] = this.convertArray(property,\n property.example ? property.example : {}, schemaTypes,\n objectTypeCache,\n level + 1);\n break;\n default:\n const subType = this.renderType({ref: property.ref}, schemaTypes, objectTypeCache, level + 1);\n object[property.name] = subType?.value;\n break;\n }\n\n }\n return object;\n }\n\n private convertArray(property: any,\n example: any,\n schemaTypes: OpenApiComponent | undefined,\n objectTypeCache: ObjectTypeCache[],\n level: number): any[] {\n const result: any = [];\n const type = property.type ? property.type : 'object';\n const sample = example[property.name];\n switch (type) {\n case 'string':\n if ('date' == property.format) {\n result.push(sample ? sample : 'yyyyMMdd');\n } else if ('date-time' == property.format) {\n result.push(sample ? sample : 'yyyyMMddTHH:mm:ss');\n } else {\n result.push(sample ? sample : 'string');\n }\n break\n case 'number':\n if ('float' == property.format || 'double' == property.format) {\n result.push(sample ? sample : 0.0);\n } else {\n result.push(sample ? sample : 0);\n }\n break\n case 'integer':\n result.push(sample ? sample : 0);\n break\n case 'boolean':\n result.push(false);\n break;\n default:\n const subType = this.renderType({ref: property.ref}, schemaTypes, objectTypeCache, level + 1);\n result.push(subType ? subType.value : {});\n break;\n }\n return result;\n }\n\n\n}\n","import {Component, input} from '@angular/core';\nimport {OpenApiPathEndpointParameter} from '../../open-api.model';\nimport {InuCode} from 'inugami-ng/components/inu-code';\n\nconst SPACE : string = ' ';\n\n@Component({\n selector: 'inu-open-api-parameters',\n standalone: true,\n providers: [],\n imports: [InuCode],\n templateUrl: './inu-open-api-parameters.html',\n styleUrl: './inu-open-api-parameters.scss',\n})\nexport class InuOpenApiParameters{\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n data = input<OpenApiPathEndpointParameter[] | undefined | null>(undefined);\n parameterExamples :any = {}\n\n //==================================================================================================================\n // ACTION\n //==================================================================================================================\n toggleExample(index:number){\n const value = this.parameterExamples[index];\n if(value == undefined){\n this.parameterExamples[index] = true;\n }else{\n this.parameterExamples[index] = !value;\n }\n }\n\n\n //==================================================================================================================\n // GETTERS\n //==================================================================================================================\n getRowClass(index:number, first:boolean, odd:boolean, styleclass?:string):string{\n const result :string[]= [`flex-table-body-row index-${index}`];\n if(first){\n result.push('first');\n }\n if(odd){\n result.push('odd');\n }\n\n if(styleclass){\n result.push(styleclass);\n }\n return result.join(SPACE);\n }\n getParameterClass(index:number, styleclass:string):string{\n const result: string[]= [styleclass];\n const toggle = this.parameterExamples[index];\n if(toggle){\n result.push('display')\n }\n\n return result.join(' ');\n\n }\n}\n","<div class=\"inu-open-api-parameters\">\n @if (data()) {\n <div class=\"inu-flex-table\">\n <div class=\"flex-table-header\">\n <div class=\"flex-table-header-th name\">Name</div>\n <div class=\"flex-table-header-th type\">Type</div>\n <div class=\"flex-table-header-th desc\">Description</div>\n <div class=\"flex-table-header-th examples\">Examples</div>\n </div>\n\n\n <div class=\"flex-table-body\">\n\n @for (parameter of data(); track parameter.name; let index = $index; let isFirst = $first; let isOdd = $odd) {\n <div [class]=\"getRowClass(index,isFirst, isOdd , (parameter.deprecated?'deprecated': ''))\">\n <div class=\"flex-table-body-cell\">\n <span>{{parameter.name}}</span>\n @if (parameter.required) {\n <span class=\"required\"><span class=\"label\"></span></span>\n } @else {\n <span></span>\n }\n </div>\n <div class=\"flex-table-body-cell\">{{parameter.schema?.type}}</div>\n <div class=\"flex-table-body-cell\">{{parameter.description}}</div>\n <div class=\"flex-table-body-cell\">\n @if(parameter.example){\n <div class=\"parameters-main-example\">\n <inu-code [source]=\"parameter.example\"></inu-code>\n </div>\n }\n\n @if(parameter.examples && parameter.examples.length>0){\n <div class=\"parameters-examples\">\n @for (example of parameter.examples; track example.name; let paramIndex = $index; let firstExample = $first; let oddExample = $odd) {\n <div [class]=\"getRowClass(paramIndex,firstExample, oddExample ,'parameter-example')\">\n <div [class]=\"getParameterClass(paramIndex,'parameter-example-header')\" (click)=\"toggleExample(paramIndex)\">\n {{example.name}}\n </div>\n <dl [class]=\"getParameterClass(paramIndex,'example-content')\">\n <dt>Summary</dt>\n <dd>{{example.summary}}</dd>\n\n <dt>External value</dt>\n <dd>{{example.externalValue}}</dd>\n\n <dt>Description</dt>\n <dd>{{example.description}}</dd>\n\n <dt>Value</dt>\n <dd><inu-code [source]=\"example.value\"></inu-code></dd>\n\n </dl>\n </div>\n }\n </div>\n }\n\n </div>\n </div>\n }\n\n </div>\n </div>\n }\n</div>\n","import {Component, effect, input, signal, WritableSignal} from '@angular/core';\nimport {Extension} from '../../open-api.model';\n\n@Component({\n selector: 'inu-open-api-extension',\n standalone: true,\n providers: [],\n imports: [],\n templateUrl: './inu-open-api-extension.html',\n styleUrl: './inu-open-api-extension.scss',\n})\nexport class InuOpenApiExtension {\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n data = input<any | undefined | null>(undefined);\n\n keys: WritableSignal<string[]> = signal([]);\n _type: WritableSignal<string|null> = signal(null);\n\n //==================================================================================================================\n // INIT\n //==================================================================================================================\n constructor() {\n effect(() => {\n this.init()\n });\n }\n\n private init() {\n if (!this.data()) {\n return;\n }\n if(Array.isArray(this.data)){\n this._type.set('array');\n const keys = [];\n for(let i=0; i<this.data.length; i++){\n keys.push(`${i}`);\n }\n this.keys.set(keys);\n }\n else if(typeof this.data == 'object'){\n this._type.set('object');\n const keys = Object.keys(this.data);\n keys.sort();\n this.keys.set(keys);\n }else{\n this._type.set('primitive');\n }\n }\n //==================================================================================================================\n // GETTERS\n //==================================================================================================================\n getChild(key:string):Extension|undefined{\n const data = this.data();\n if(this._type()=='array'){\n const index:number= Number(key);\n if(Array.isArray(data) && data.length> index){\n return data[index];\n }else{\n return undefined;\n }\n\n }else{\n return data[key];\n }\n }\n}\n","<div class=\"inu-open-api-extension\">\n @if(data()){\n <div class=\"inu-extension\">\n @if(keys()){\n <dl class=\"inu-extension-content\">\n @for (key of keys(); track key; let index = $index; let isFirst = $first; let isOdd = $odd) {\n <dt [class.first]=\"isFirst\" [class.odd]=\"isOdd\">{{key}}</dt>\n <dd [class.first]=\"isFirst\" [class.odd]=\"isOdd\">\n <inu-open-api-extension [data]=\"getChild(key)\"></inu-open-api-extension>\n </dd>\n }\n </dl>\n }\n\n @if(_type()== 'primitive'){\n {{data()}}\n }\n </div>\n }\n</div>\n","import {Component, effect, input, signal, WritableSignal} from '@angular/core';\nimport {Example, OpenApiComponentSchema, OpenApiPathEndpointResponse} from '../../open-api.model';\nimport {InuIcon} from 'inugami-icons';\nimport {InuCode,InternalSourceCode} from 'inugami-ng/components/inu-code';\nimport {InuOpenApiExtension} from '../inu-open-api-extension/inu-open-api-extension';\n\n@Component({\n selector: 'inu-open-api-response',\n standalone: true,\n providers: [],\n imports: [\n InuIcon,\n InuCode,\n InuOpenApiExtension\n ],\n templateUrl: './inu-open-api-response.html',\n styleUrl: './inu-open-api-response.scss',\n})\nexport class InuOpenApiResponse {\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n data = input<OpenApiPathEndpointResponse | undefined | null>(undefined);\n schemas = input<OpenApiComponentSchema[] | undefined | null>(null);\n\n status: WritableSignal<number | null> = signal(null);\n examplesSources: WritableSignal<InternalSourceCode[]> = signal([]);\n //==================================================================================================================\n // INIT\n //==================================================================================================================\n constructor() {\n effect(() => {\n this.init()\n });\n }\n\n private init() {\n if (!this.data()) {\n return;\n }\n const httpStatus = this.data()?.status!;\n try {\n this.status.set(Number(httpStatus));\n } catch (e){}\n\n this.initExampleSources();\n }\n private initExampleSources() {\n const result : InternalSourceCode[] = [];\n const examples =this.data()?.examples;\n if (examples) {\n for(let example of examples){\n result.push({\n content: example.value!,\n type: 'json',\n title : example.name\n })\n }\n }\n\n this.examplesSources.set(result);\n }\n //==================================================================================================================\n // ACTION\n //==================================================================================================================\n toggleExample(index:number){\n const examples = this.data()?.examples;\n if(!examples || examples.length<=index){\n return ;\n }\n const example =examples[index];\n const display = example.display==undefined ? false :example.display;\n example.display = !display;\n }\n //==================================================================================================================\n // GETTERS\n //==================================================================================================================\n computeExampleClass(example: Example, isFirst: boolean, isOdd: boolean): string {\n const result = ['response-example'];\n\n if (isFirst) {\n result.push('first');\n }\n if (isOdd) {\n result.push('odd');\n }\n const status = this.status();\n if (status) {\n if (status < 400) {\n result.push('status-success');\n }\n if (status < 500) {\n result.push('status-warning');\n }\n else{\n result.push('status-error');\n }\n }\n\n return result.join(' ');\n }\n getExampleDisplayStatus(index:number){\n const examples = this.data()?.examples;\n if(!examples || examples.length<=index){\n return false;\n }\n const example =examples[index];\n return example.display==undefined ? false :example.display;\n }\n\n getExamplesSource(index:number):InternalSourceCode|undefined{\n if(!this.examplesSources() || this.examplesSources().length<=index){\n return undefined;\n }\n return this.examplesSources()[index];\n }\n\n\n}\n","@if(data()){\n <div class=\"inu-open-api-response\">\n <div class=\"description\">{{data()?.description}}</div>\n <div class=\"content-type\">{{data()?.contentType}}</div>\n\n <div class=\"response-examples\">\n @if(data()?.examples){\n @for (example of data()?.examples; track example.name; let index = $index; let isFirst = $first; let isOdd = $odd) {\n <div class=\"response-example\" [class]=\"computeExampleClass(example, isFirst, isOdd)\">\n <div class=\"response-example-header\" (click)=\"toggleExample(index)\">\n <div class=\"response-example-header-labels\" >\n <span class=\"response-example-header-name\" >{{example.name}}</span>\n <span class=\"response-example-header-summary\">{{example.summary}}</span>\n </div>\n\n <span class=\"button open\" [class.displayStatus]=\"getExampleDisplayStatus(index)\">\n @if(example.description || example.externalValue || example.extensions || getExamplesSource(index)?.content){\n <inu-icon [icon]=\"getExampleDisplayStatus(index)?'chevron_up':'chevron_down'\" [size]=\"1\"></inu-icon>\n }\n </span>\n </div>\n @if(example.description || example.externalValue || example.extensions || getExamplesSource(index)?.content){\n <div class=\"response-example-content\" [class.display]=\"getExampleDisplayStatus(index)\">\n\n @if(example.description || example.externalValue || example.extensions){\n <dl class=\"example-content\">\n @if(example.description){\n <dt>Description</dt>\n <dd>{{example.description}}</dd>\n }\n @if(example.externalValue){\n <dt>External value</dt>\n <dd>{{example.externalValue}}</dd>\n }\n\n @if(example.extensions){\n @for (extension of example.extensions; track extension.name) {\n <dt>{{extension.name}}</dt>\n <dd><inu-open-api-extension [data]=\"extension\"></inu-open-api-extension></dd>\n }\n }\n </dl>\n }\n\n @if(getExamplesSource(index)?.content){\n @if(getExamplesSource(index)?.content && getExamplesSource(index)?.content !=''){\n <inu-code [source]=\"getExamplesSource(index)?.content\"\n [type]=\"getExamplesSource(index)?.type\"\n [title]=\"getExamplesSource(index)?.title\"></inu-code>\n }\n }\n\n </div>\n }\n\n\n </div>\n }\n }\n\n\n\n </div>\n </div>\n}\n","import {Component, effect, input, signal, WritableSignal} from '@angular/core';\nimport {\n OpenApiComponentSchema,\n OpenApiPathEndpoint,\n OpenApiPathEndpointParameter,\n OpenApiPathEndpointResponse\n} from '../../open-api.model';\nimport {InuOpenApiParameters} from '../inu-open-api-parameters/inu-open-api-parameters';\nimport {InuCode, InternalSourceCode} from 'inugami-ng/components/inu-code';\nimport {InuOpenApiResponse} from '../inu-open-api-response/inu-open-api-response';\nimport {InuIcon} from 'inugami-icons';\n\nconst SPACE = ' ';\n\n@Component({\n selector: 'inu-open-api-endpoint',\n standalone: true,\n providers: [],\n imports: [InuOpenApiParameters, InuOpenApiResponse, InuCode, InuIcon],\n templateUrl: './inu-open-api-endpoint.html',\n styleUrl: './inu-open-api-endpoint.scss',\n})\nexport class InuOpenApiEndpoint {\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n data = input<OpenApiPathEndpoint | undefined | null>(undefined);\n schemas = input<OpenApiComponentSchema[] | undefined | null>(null);\n styleClass: WritableSignal<string> = signal('');\n display: WritableSignal<string> = signal('inu-open-api-endpoint-content-display hidden');\n\n parameters: WritableSignal<OpenApiPathEndpointParameter[] | null> = signal(null);\n headers: WritableSignal<OpenApiPathEndpointParameter[] | null> = signal(null);\n options: WritableSignal<OpenApiPathEndpointParameter[] | null> = signal(null);\n\n\n request: WritableSignal<InternalSourceCode | null> = signal(null);\n responseMain: WritableSignal<OpenApiPathEndpointResponse | null> = signal(null);\n response: WritableSignal<InternalSourceCode | null> = signal(null);\n\n //==================================================================================================================\n // INIT\n //==================================================================================================================\n constructor() {\n effect(() => {\n this.init()\n });\n }\n\n private init() {\n this.initStyle();\n this.initParameters();\n this.initRequest();\n this.initResponse();\n }\n\n private initStyle() {\n const styles = ['inu-open-api-endpoint'];\n if (this.data()) {\n styles.push(this.data()?.verb!);\n }\n\n this.styleClass.set(styles.join(SPACE));\n }\n\n private initParameters() {\n const dataParameters = this.data()?.parameters;\n if (!dataParameters) {\n return\n }\n const parameters: OpenApiPathEndpointParameter[] = [];\n const options: OpenApiPathEndpointParameter[] = [];\n const headers: OpenApiPathEndpointParameter[] = [];\n\n\n for (let param of dataParameters) {\n if ('path' == param.in) {\n parameters.push(param);\n } else if ('header' == param.in) {\n headers.push(param);\n } else {\n options.push(param);\n }\n }\n if (parameters.length > 0) {\n this.parameters.set(parameters);\n }\n if (headers.length > 0) {\n this.headers.set(headers);\n }\n if (options.length > 0) {\n this.options.set(options);\n }\n }\n\n initRequest() {\n const data = this.data();\n if (!data) {\n return;\n }\n const contentType = data.requestBody?.contentType ? data.requestBody.contentType : 'text'\n let content: string | undefined = undefined;\n let type: string = this.resolveType(contentType);\n let name: string | undefined = undefined;\n if (data.requestBody?.schema) {\n const schema = data.requestBody.schema;\n if (schema?.ref) {\n content = JSON.stringify(data.requestBody.schema?.ref, null, 4);\n }\n\n if (schema.name) {\n name = schema.array ? `${schema.name}[]` : schema.name;\n }\n\n }\n\n if (content) {\n this.request.set({\n content: content,\n title: name,\n type: type\n })\n }\n }\n\n initResponse() {\n const data = this.data();\n if (!data) {\n return;\n }\n const responses = data.responses ? data.responses : [];\n if (responses.length == 0) {\n return;\n }\n const successResponse = responses.filter((r) => this.convertToNumber(r.status) < 300);\n\n if (successResponse && successResponse.length > 0) {\n const mainResponse = successResponse[0];\n\n this.responseMain.set(mainResponse);\n const contentType = mainResponse.contentType ? mainResponse.contentType : 'text'\n let content: string | undefined = undefined;\n let type: string = this.resolveType(contentType);\n let name: string | undefined = undefined;\n if (mainResponse.schema) {\n const schema = mainResponse.schema;\n if (schema?.ref) {\n content = JSON.stringify(mainResponse.schema?.ref, null, 4);\n }\n\n if (schema.name) {\n name = schema.array ? `${schema.name}[]` : schema.name;\n }\n\n }\n\n if (content) {\n this.response.set({\n content: content,\n title: name,\n type: type\n })\n }\n }\n\n }\n\n //==================================================================================================================\n // INIT\n //==================================================================================================================\n toggleDisplay() {\n if ('inu-open-api-endpoint-content-display hidden' == this.display()) {\n this.display.set('inu-open-api-endpoint-content-display show');\n } else {\n this.display.set('inu-open-api-endpoint-content-display hidden');\n }\n }\n\n private resolveType(contentType: string): string {\n if (contentType == 'text' || contentType == 'text/plain') {\n return 'text';\n }\n const parts = contentType.split('application/');\n return parts.length == 2 ? parts[1].toLowerCase() : 'text';\n\n }\n\n private convertToNumber(value?: string): number {\n if (!value) {\n return 0;\n }\n try {\n return Number(value);\n } catch (e) {\n return 0;\n }\n }\n\n getRowClass(index: number, first: boolean, odd: boolean, styleclass?: string): string {\n const result: string[] = [`flex-table-body-row index-${index}`];\n if (first) {\n result.push('first');\n }\n if (odd) {\n result.push('odd');\n }\n\n if (styleclass) {\n result.push(styleclass);\n }\n return result.join(SPACE);\n }\n\n computeStatusStyleClass(status?:string): string {\n const result = ['inu-endpoint-response-status'];\n\n const httpStatus = this.convertToNumber(status);\n if(httpStatus<400){\n result.push('success');\n }\n else if(httpStatus<500){\n result.push('warning');\n }\n else{\n result.push('error');\n }\n\n return result.join(SPACE)\n }\n}\n","@if (data()) {\n <article [class]=\"styleClass()\">\n <header>\n <h2 (click)=\"toggleDisplay()\">\n <span class=\"inu-endpoint-verb\">{{ data()?.verb }}</span>\n <span class=\"inu-endpoint-url\">{{ data()?.url }}</span>\n </h2>\n <span class=\"button open\" (click)=\"toggleDisplay()\">\n <inu-icon [icon]=\"display() == 'inu-open-api-endpoint-content-display show'?'chevron_up':'chevron_down'\" [size]=\"1\"></inu-icon>\n </span>\n </header>\n\n <div class=\"inu-open-api-endpoint-content\">\n <div [class]=\"display()\">\n <!--==============================================================================================================\n = INFORMATION\n ===============================================================================================================-->\n @if (parameters()) {\n <fieldset class=\"information\">\n <label>Information</label>\n <div class=\"content\">\n <inu-open-api-parameters [data]=\"parameters()\"></inu-open-api-parameters>\n </div>\n </fieldset>\n }\n\n <!--==============================================================================================================\n = HEADERS\n ===============================================================================================================-->\n @if (headers()) {\n <fieldset class=\"headers\">\n <label>Headers</label>\n <div class=\"content\">\n <inu-open-api-parameters [data]=\"headers()\"></inu-open-api-parameters>\n </div>\n </fieldset>\n }\n\n <!--==============================================================================================================\n = OPTION\n ===============================================================================================================-->\n @if (options()) {\n <fieldset class=\"options\">\n <label>Options</label>\n <div class=\"content\">\n <inu-open-api-parameters [data]=\"options()\"></inu-open-api-parameters>\n </div>\n </fieldset>\n }\n\n <!--==============================================================================================================\n = REQUEST\n ===============================================================================================================-->\n @if (data()?.requestBody) {\n <fieldset class=\"request\">\n <label>Request</label>\n <div class=\"content\">\n <div class=\"description\">{{ data()?.requestBody?.description! }}</div>\n <div class=\"content-type\">{{ data()?.requestBody?.contentType! }}</div>\n\n @if (request()) {\n <div class=\"schema\">\n <inu-code [source]=\"request()?.content\" [type]=\"request()?.type\"\n [title]=\"request()?.title\"></inu-code>\n </div>\n }\n </div>\n </fieldset>\n }\n <!--==============================================================================================================\n = RESPONSE\n ===============================================================================================================-->\n\n @if (data()?.responses) {\n <fieldset class=\"response\">\n <label>Response</label>\n\n <div class=\"content\">\n\n <div class=\"response-table\">\n <div class=\"response-table-body\">\n @for (response of data()?.responses; track response.status; let index = $index; let isFirst = $first; let isOdd = $odd) {\n <div [class]=\"getRowClass(index,isFirst, isOdd)\">\n <div [class]=\"computeStatusStyleClass(response.status)\">\n {{ response.status }}\n </div>\n <div class=\"description-content\">\n <inu-open-api-response [data]=\"response\" [schemas]=\"schemas()\"></inu-open-api-response>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </fieldset>\n }\n </div>\n </div>\n </article>\n}\n\n","import {Component, effect, inject, input, signal, WritableSignal} from '@angular/core';\nimport {InuCacheServices} from \"inugami-ng/services\";\nimport {map, Observable, shareReplay, tap} from \"rxjs\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {OpenApi} from './open-api.model';\nimport {InuOpenApiServices} from './inu-open-api.service';\nimport {InuOpenApiEndpoint} from './components/inu-open-api-endpoint/inu-open-api-endpoint';\n\n\nconst CACHE_PREFIX = 'inu-open-api_';\n\n@Component({\n selector: 'inu-open-api',\n standalone: true,\n imports: [\n InuOpenApiEndpoint\n ],\n templateUrl: './inu-open-api.html',\n styleUrl: './inu-open-api.scss',\n})\nexport class InuOpenApi {\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n url = input<string | undefined | null>(undefined);\n data = input<OpenApi | undefined | null>(undefined);\n private readonly http = inject(HttpClient);\n private readonly cache = inject(InuCacheServices);\n private readonly inuOpenApiService = inject(InuOpenApiServices);\n\n _value: WritableSignal<OpenApi | null> = signal<OpenApi | null>(null);\n\n //==================================================================================================================\n // INITIALIZE\n //==================================================================================================================\n constructor() {\n effect(() => this.init());\n }\n\n init(): void {\n const data = this.data();\n const url = this.url();\n if (data) {\n this.initOpenApi(data)\n } else if (url) {\n this.loadFormUrl(url);\n }\n }\n\n loadFormUrl(url: string) {\n const data: OpenApi | undefined = this.loadFormCache(url);\n if (data) {\n\n return;\n }\n const cacheKey = CACHE_PREFIX + url;\n const pending: Observable<OpenApi> | undefined = this.cache.getPending(cacheKey);\n if (pending) {\n pending.subscribe(res => this.initOpenApi(this.inuOpenApiService.convertToOpenApi(res)));\n return;\n }\n\n const request = this.http.get<any>(url)\n .pipe(tap(data => {\n this.cache.set(cacheKey, data);\n }),\n shareReplay(1)\n );\n this.cache.setPending(cacheKey, request);\n request.subscribe({\n next: value => this.initOpenApi(this.inuOpenApiService.convertToOpenApi(value))\n });\n\n }\n\n\n //==================================================================================================================\n // PARSE\n //==================================================================================================================\n initOpenApi(openApi: OpenApi) {\n openApi.paths?.sort((value, ref)=> {\n if(value.url=== ref.url){\n return `${value.verb}`.toLowerCase().localeCompare(`${ref.verb}`.toUpperCase());\n }\n return `${value.url}`.toLowerCase().localeCompare(`${ref.url}`.toUpperCase());\n });\n this._value.set(openApi);\n }\n\n //==================================================================================================================\n // TOOLS\n //==================================================================================================================\n loadFormCache(url: string): OpenApi | undefined {\n const cacheKey = CACHE_PREFIX + url;\n const result: OpenApi | undefined = this.cache.get(cacheKey);\n return result;\n }\n\n setToCache(url: string, value: any): void {\n const cacheKey = CACHE_PREFIX + url;\n if (value) {\n this.cache.set(cacheKey, value);\n }\n }\n\n}\n","<div class=\"inu-open-api\">\n @if(_value()){\n\n <section>\n @if(_value()?.info){\n <header>\n <h2>{{_value()?.info?.title!}}</h2>\n <h3>{{_value()?.info?.version!}}</h3>\n <p>\n {{_value()?.info?.description!}}\n </p>\n </header>\n }\n\n <!--<inu-open-api-filter></inu-open-api-filter>-->\n <div class=\"endpoints\">\n @if(_value()?.paths){\n @for (endpoint of _value()?.paths;track endpoint.uri;) {\n <inu-open-api-endpoint [data]=\"endpoint\" [schemas]=\"_value()?.components?.schemas\"></inu-open-api-endpoint>\n }\n }\n </div>\n </section>\n }\n</div>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'inu-open-api-request',\n standalone: true,\n providers: [],\n imports: [],\n templateUrl: './inu-open-api-request.html',\n styleUrl: './inu-open-api-request.scss',\n})\nexport class InuOpenApiRequest {\n\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n\n}\n","","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SPACE"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -164,9 +164,9 @@ declare class InuOpenApiServices {
|
|
|
164
164
|
private unmarshallEndpointRequestBody;
|
|
165
165
|
private extractSchema;
|
|
166
166
|
private unmarshallEndpointResponse;
|
|
167
|
+
private unmarshallEndpointResponseExample;
|
|
167
168
|
private extractObjectTypeValue;
|
|
168
169
|
private unmarshallEndpointResponseHeader;
|
|
169
|
-
private unmarshallEndpointResponseExample;
|
|
170
170
|
private extractExtension;
|
|
171
171
|
private unmarshallTags;
|
|
172
172
|
private unmarshallExtension;
|