etiquetas.js 1.0.0-alpha.1 → 1.0.0-alpha.2

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.
Files changed (40) hide show
  1. package/README.git.md +121 -486
  2. package/README.md +134 -1
  3. package/README.npm.md +0 -0
  4. package/dist/etiquetas.es.js +66 -0
  5. package/dist/etiquetas.es.js.map +1 -0
  6. package/dist/etiquetas.umd.js +358 -0
  7. package/dist/etiquetas.umd.js.map +1 -0
  8. package/dist/index-BmMBOPX1.js +59122 -0
  9. package/dist/index-BmMBOPX1.js.map +1 -0
  10. package/dist/index.es-DzWoeylQ.js +9229 -0
  11. package/dist/index.es-DzWoeylQ.js.map +1 -0
  12. package/dist/purify.es-DzZgBtzL.js +965 -0
  13. package/dist/purify.es-DzZgBtzL.js.map +1 -0
  14. package/package.json +48 -15
  15. package/api/api-labels.json +0 -114
  16. package/api/api.js +0 -316
  17. package/api/mock/data-volume-id_680.json +0 -64
  18. package/api/mock/labels-input.json +0 -96
  19. package/api/mock/labels-part.json +0 -216
  20. package/api/mock/labels-scrap.json +0 -76
  21. package/api/mock/labels-thickened.json +0 -96
  22. package/api/mock/labels-volume.json +0 -56
  23. package/api/token.txt +0 -1
  24. package/services/index.js +0 -28
  25. package/src/constants.js +0 -247
  26. package/src/createLabel.js +0 -342
  27. package/src/etiquetas.js +0 -654
  28. package/src/formatData.js +0 -96
  29. package/src/formatDataIntegrated.js +0 -498
  30. package/src/index.js +0 -86
  31. package/src/label/services/index.js +0 -1201
  32. package/src/label/services/sortFunctions.js +0 -158
  33. package/src/label/services/utils.js +0 -280
  34. package/src/labelWorker.js +0 -123
  35. package/src/reducer.js +0 -40
  36. package/src/store.js +0 -55
  37. package/src/templates.js +0 -139
  38. package/src/useLabelData.js +0 -99
  39. package/src/usePrinterStore.js +0 -115
  40. package/src/variableManager.js +0 -224
package/README.md CHANGED
@@ -9,6 +9,7 @@ Sistema completo para geração de etiquetas de peças, tamponamentos, insumos,
9
9
  - Download em formato PDF
10
10
  - Templates personalizáveis
11
11
  - Integração com API para busca de modelos de etiquetas
12
+ - **🔄 Legacy Transformer** - Sistema de transformação de dados legados
12
13
 
13
14
  ## 🚀 Instalação
14
15
 
@@ -21,7 +22,7 @@ npm install etiquetas.js
21
22
  ```javascript
22
23
  import { etiquetas } from 'etiquetas.js';
23
24
 
24
- // Inicializar o sistema
25
+ // Inicializar o sistema com seu token JWT para autenticação na API
25
26
  etiquetas.init({
26
27
  token:'<jwt-token>'
27
28
  });
@@ -35,4 +36,136 @@ await etiquetas.downloadPDF(pdfPeca, '<nome-etiqueta>.pdf');
35
36
  await etiquetas.sendToPrinter(pdfPeca);
36
37
  ```
37
38
 
39
+ ## 🔄 Legacy Transformer
40
+
41
+ O sistema de transformação de dados legados permite converter dados antigos para o formato atual das etiquetas. **O transformer padrão é configurado na função `init()`** e será aplicado automaticamente em todas as operações.
42
+
43
+ ### Configuração no Init
44
+
45
+ ```javascript
46
+ import etiquetas from './src/etiquetas.js';
47
+
48
+ // Inicializar com legacy transformer (padrão)
49
+ etiquetas.init({
50
+ token: 'your-token',
51
+ // defaultTransformer não especificado = legacy por padrão
52
+ });
53
+
54
+ // Inicializar com transformer customizado como padrão
55
+ etiquetas.init({
56
+ token: 'your-token',
57
+ defaultTransformer: {
58
+ fieldMap: 'custom',
59
+ fieldMapSource: {
60
+ old_field: 'new_field',
61
+ status: ['active', 'inactive', 'pending']
62
+ }
63
+ }
64
+ });
65
+
66
+ // Inicializar sem transformer (desabilitado)
67
+ etiquetas.init({
68
+ token: 'your-token',
69
+ defaultTransformer: {
70
+ fieldMap: 'none'
71
+ }
72
+ });
73
+ ```
74
+
75
+ ### Uso Básico (Usa Padrão do Init)
76
+
77
+ ```javascript
78
+ // O transformer configurado no init será aplicado automaticamente
79
+ const pdf = await etiquetas.makeLabel({
80
+ PROJETO_ID: 123,
81
+ NOME_PROJETO: 'Sistema Antigo',
82
+ STATUS: 'ATIVO'
83
+ }, 'template-id');
84
+
85
+ // Também funciona com sendLabel
86
+ const result = await etiquetas.sendLabel(legacyData, 'template-id');
87
+ ```
88
+
89
+ ### Sobrescrever Transformer Padrão
90
+
91
+ ```javascript
92
+ // Sobrescrever para usar legacy transformer
93
+ const pdf = await etiquetas.makeLabel(legacyData, 'template-id', {
94
+ transformer: {
95
+ fieldMap: "legacy"
96
+ }
97
+ });
98
+
99
+ // Sobrescrever para usar fieldMap customizado
100
+ const customFieldMap = {
101
+ // Mapeamento simples
102
+ OLD_FIELD: 'newField',
103
+
104
+ // Mapeamento com array de valores
105
+ STATUS: ['active', 'inactive', 'pending'],
106
+
107
+ // Transformação com função
108
+ CUSTOM_CODE: (data) => data.code ? `NEW_${data.code}` : null
109
+ };
110
+
111
+ const pdf = await etiquetas.makeLabel(legacyData, 'template-id', {
112
+ transformer: {
113
+ fieldMap: "custom",
114
+ fieldMapSource: customFieldMap
115
+ }
116
+ });
117
+
118
+ // Sobrescrever para desabilitar transformer
119
+ const pdf = await etiquetas.makeLabel(normalizedData, 'template-id', {
120
+ transformer: {
121
+ fieldMap: "none"
122
+ }
123
+ });
124
+ ```
125
+
126
+ ### Opções do Init
127
+
128
+ | Opção | Tipo | Descrição |
129
+ |-------|------|-----------|
130
+ | `defaultTransformer.fieldMap` | string | Tipo do fieldMap padrão: `"legacy"` (padrão), `"custom"` ou `"none"` |
131
+ | `defaultTransformer.fieldMapSource` | Object | FieldMap customizado (obrigatório se `fieldMap="custom"`) |
132
+
133
+ ### Opções das Funções (Sobrescrever Padrão)
134
+
135
+ | Opção | Tipo | Descrição |
136
+ |-------|------|-----------|
137
+ | `transformer.fieldMap` | string | Tipo do fieldMap: `"legacy"`, `"custom"` ou `"none"` (sobrescreve padrão do init) |
138
+ | `transformer.fieldMapSource` | Object | FieldMap customizado (obrigatório se `fieldMap="custom"`) |
139
+
140
+ ### API Legacy (Deprecated)
141
+
142
+ ```javascript
143
+ // ⚠️ API antiga - ainda funciona mas está deprecated
144
+ const pdf = await etiquetas.makeLabel(legacyData, 'template-id', {
145
+ useLegacyTransformer: true,
146
+ customFieldMap: myFieldMap
147
+ });
148
+ ```
149
+
150
+ ### Validação e Tratamento de Erros
151
+
152
+ ```javascript
153
+ // Validar fieldMap antes de usar
154
+ const isValid = etiquetas.validateFieldMap(myFieldMap);
155
+
156
+ // Tratamento de erros
157
+ try {
158
+ const pdf = await etiquetas.makeLabel(legacyData, 'template-id', {
159
+ transformer: {
160
+ fieldMap: "custom",
161
+ fieldMapSource: invalidFieldMap
162
+ }
163
+ });
164
+ } catch (error) {
165
+ console.error('Erro na transformação:', error.message);
166
+ }
167
+ ```
168
+
169
+ Para documentação completa sobre transformações, consulte: [src/transformers/README.md](src/transformers/README.md)
170
+
38
171
 
package/README.npm.md ADDED
File without changes
@@ -0,0 +1,66 @@
1
+ import { a1, a, j, L, b, N, M, Q, P, a7, F, H, K, U, V, k, T, a9, E, I, y, S, W, B, l, a8, a0, Y, a4, a5, o, h, aa, $, d, n, p, v, e, f, i, t, r, a3, C, D, q, G, w, Z, a6, O, s, R, x, z, J, X, a2, u, m, A } from "./index-BmMBOPX1.js";
2
+ export {
3
+ a1 as DEFAULT_LAMINATION_COLORS,
4
+ a as LABEL_TYPES,
5
+ j as LabelWorker,
6
+ L as LabelsAPI,
7
+ b as apiClient,
8
+ N as base64Decode,
9
+ M as base64Encode,
10
+ Q as checkPrinterAvailability,
11
+ P as convertPdfToImages,
12
+ a7 as convertSVGTableToAutoTableData,
13
+ F as createBrowserCanvas,
14
+ H as createBrowserDOM,
15
+ K as createBuffer,
16
+ U as createImage,
17
+ V as createImageFromPart,
18
+ k as createLabelWorker,
19
+ T as createMiniSheet,
20
+ a9 as dataTypeList,
21
+ E as default,
22
+ I as downloadFile,
23
+ y as downloadPDF,
24
+ S as downloadPdfFallback,
25
+ W as drawRect,
26
+ B as etiquetas,
27
+ l as generateLabelsFromHookData,
28
+ a8 as generateTableSVG,
29
+ a0 as getAspectRatio,
30
+ Y as getBorderColor,
31
+ a4 as getImagesFromUrl,
32
+ a5 as getImagesFromUrlToBase64,
33
+ o as getInputForLabels,
34
+ h as getInputLabels,
35
+ aa as getInputsByCategory,
36
+ $ as getNode,
37
+ d as getPartLabels,
38
+ n as getPartsForLabels,
39
+ p as getPartsFromProjectToLabels,
40
+ v as getPrinterStatus,
41
+ e as getScrapLabels,
42
+ f as getThickenedLabels,
43
+ i as getVolumeLabels,
44
+ t as init,
45
+ r as initialState,
46
+ a3 as initializeBrowserEnvironment,
47
+ C as isBrowser,
48
+ D as isNodeJS,
49
+ q as labelTypeNames,
50
+ G as loadImageBrowser,
51
+ w as makeLabel,
52
+ Z as makeLamination,
53
+ a6 as mmToPx,
54
+ O as processLabelForParts,
55
+ s as reducer,
56
+ R as sendImagesToPrinter,
57
+ x as sendLabel,
58
+ z as sendToPrinter,
59
+ J as serializeXML,
60
+ X as setBorder,
61
+ a2 as stopCreatingLabels,
62
+ u as useLabelData,
63
+ m as useLabelStore,
64
+ A as validateLabelData
65
+ };
66
+ //# sourceMappingURL=etiquetas.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"etiquetas.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}