@karibulab/wsdl2tsx-runtime 0.5.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# @karibulab/wsdl2tsx-runtime
|
|
2
|
+
|
|
3
|
+
Runtime XML para código TSX generado desde WSDL. Proporciona funciones JSX personalizadas para construir documentos XML/SOAP.
|
|
4
|
+
|
|
5
|
+
## Instalación
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @karibulab/wsdl2tsx-runtime
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Uso
|
|
12
|
+
|
|
13
|
+
Este paquete es utilizado automáticamente por el código generado por `@karibulab/wsdl2tsx`. No necesitas importarlo manualmente en la mayoría de los casos.
|
|
14
|
+
|
|
15
|
+
### Configuración de TypeScript
|
|
16
|
+
|
|
17
|
+
Para que TypeScript reconozca los elementos JSX personalizados, configura tu `tsconfig.json`:
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"compilerOptions": {
|
|
22
|
+
"jsx": "react-jsx",
|
|
23
|
+
"jsxImportSource": "@karibulab/wsdl2tsx-runtime"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### API
|
|
29
|
+
|
|
30
|
+
#### `soap`
|
|
31
|
+
|
|
32
|
+
Objeto con elementos SOAP predefinidos:
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
import { soap } from "@karibulab/wsdl2tsx-runtime";
|
|
36
|
+
|
|
37
|
+
<soap.Envelope>
|
|
38
|
+
<soap.Header />
|
|
39
|
+
<soap.Body>
|
|
40
|
+
{/* contenido */}
|
|
41
|
+
</soap.Body>
|
|
42
|
+
</soap.Envelope>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
#### `ns(prefix, tags)`
|
|
46
|
+
|
|
47
|
+
Función helper para crear namespaces personalizados:
|
|
48
|
+
|
|
49
|
+
```tsx
|
|
50
|
+
import { ns } from "@karibulab/wsdl2tsx-runtime";
|
|
51
|
+
|
|
52
|
+
const myns = ns("myns", ["tag1", "tag2"] as const);
|
|
53
|
+
|
|
54
|
+
<myns.tag1>
|
|
55
|
+
<myns.tag2>Contenido</myns.tag2>
|
|
56
|
+
</myns.tag1>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Ejemplo completo
|
|
60
|
+
|
|
61
|
+
```tsx
|
|
62
|
+
import { soap, ns } from "@karibulab/wsdl2tsx-runtime";
|
|
63
|
+
|
|
64
|
+
const facade = ns("facade", ["consultaCodigoPlan"] as const);
|
|
65
|
+
|
|
66
|
+
export function ConsultaCodigoPlan(props: ConsultaCodigoPlanProps) {
|
|
67
|
+
return (
|
|
68
|
+
<soap.Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
|
69
|
+
<soap.Header />
|
|
70
|
+
<soap.Body>
|
|
71
|
+
<facade.consultaCodigoPlan>
|
|
72
|
+
{/* contenido del body */}
|
|
73
|
+
</facade.consultaCodigoPlan>
|
|
74
|
+
</soap.Body>
|
|
75
|
+
</soap.Envelope>
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Características
|
|
81
|
+
|
|
82
|
+
- ✅ JSX personalizado para construir XML
|
|
83
|
+
- ✅ Soporte completo para namespaces XML
|
|
84
|
+
- ✅ Genera XML válido desde componentes TSX
|
|
85
|
+
- ✅ TypeScript tipado para todos los elementos
|
|
86
|
+
- ✅ Compatible con ESM (ES Modules)
|
|
87
|
+
|
|
88
|
+
## Desarrollo
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Clonar el repositorio
|
|
92
|
+
git clone https://github.com/KaribuLab/wsdl2tsx.git
|
|
93
|
+
cd wsdl2tsx
|
|
94
|
+
|
|
95
|
+
# Instalar dependencias
|
|
96
|
+
npm install
|
|
97
|
+
|
|
98
|
+
# Construir el runtime
|
|
99
|
+
npm run build:runtime
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Licencia
|
|
103
|
+
|
|
104
|
+
ISC
|
|
105
|
+
|
|
106
|
+
## Repositorio
|
|
107
|
+
|
|
108
|
+
https://github.com/KaribuLab/wsdl2tsx
|