dmencu 0.1.5

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 (148) hide show
  1. package/dist/client/client/client.js +372 -0
  2. package/dist/client/client/css/form-data-signals-2.styl +11 -0
  3. package/dist/client/client/css/form-data-signals.styl +68 -0
  4. package/dist/client/client/css/menu.styl +6 -0
  5. package/dist/client/client/img/ba_etiqueta.jpg +0 -0
  6. package/dist/client/client/img/logo_etiqueta.jpg +0 -0
  7. package/dist/client/client/img/mandatory.png +0 -0
  8. package/dist/client/client/img/optativo.png +0 -0
  9. package/dist/client/client/img/pk-mandatory.png +0 -0
  10. package/dist/client/client/img/wait4this.png +0 -0
  11. package/dist/client/client/menu.js +3 -0
  12. package/dist/client/client/tsconfig.json +14 -0
  13. package/dist/client/unlogged/abrir-formulario.js +99 -0
  14. package/dist/client/unlogged/bypass-formulario.js +1141 -0
  15. package/dist/client/unlogged/css/Roboto-Regular.ttf +0 -0
  16. package/dist/client/unlogged/css/bootstrap.min.css +7 -0
  17. package/dist/client/unlogged/css/formulario-react.styl +756 -0
  18. package/dist/client/unlogged/img/PREJU_2022-logo-dm-192.png +0 -0
  19. package/dist/client/unlogged/img/PREJU_2022-logo-dm-192_capa.png +0 -0
  20. package/dist/client/unlogged/img/PREJU_2022-logo-dm-192_test.png +0 -0
  21. package/dist/client/unlogged/img/PREJU_2022-logo-dm-32.png +0 -0
  22. package/dist/client/unlogged/img/PREJU_2022-logo-dm-32_capa.png +0 -0
  23. package/dist/client/unlogged/img/PREJU_2022-logo-dm-32_test.png +0 -0
  24. package/dist/client/unlogged/img/PREJU_2022-logo-dm-48.png +0 -0
  25. package/dist/client/unlogged/img/PREJU_2022-logo-dm-48_capa.png +0 -0
  26. package/dist/client/unlogged/img/PREJU_2022-logo-dm-48_test.png +0 -0
  27. package/dist/client/unlogged/img/PREJU_2022-logo-dm-512.png +0 -0
  28. package/dist/client/unlogged/img/PREJU_2022-logo-dm-512_capa.png +0 -0
  29. package/dist/client/unlogged/img/PREJU_2022-logo-dm-512_test.png +0 -0
  30. package/dist/client/unlogged/img/PREJU_2022-logo-dm-64.png +0 -0
  31. package/dist/client/unlogged/img/PREJU_2022-logo-dm-64_capa.png +0 -0
  32. package/dist/client/unlogged/img/PREJU_2022-logo-dm-64_test.png +0 -0
  33. package/dist/client/unlogged/img/PREJU_2022-logo-dm-72.png +0 -0
  34. package/dist/client/unlogged/img/PREJU_2022-logo-dm-72_capa.png +0 -0
  35. package/dist/client/unlogged/img/PREJU_2022-logo-dm-72_test.png +0 -0
  36. package/dist/client/unlogged/img/_login-logo-icon.png +0 -0
  37. package/dist/client/unlogged/img/_logo-128.png +0 -0
  38. package/dist/client/unlogged/img/_logo.png +0 -0
  39. package/dist/client/unlogged/img/borrar-valor.pdn +0 -0
  40. package/dist/client/unlogged/img/borrar-valor.png +0 -0
  41. package/dist/client/unlogged/img/fondo-salteado-crudo.pdn +0 -0
  42. package/dist/client/unlogged/img/fondo-salteado-error.png +0 -0
  43. package/dist/client/unlogged/img/fondo-salteado.pdn +0 -0
  44. package/dist/client/unlogged/img/fondo-salteado.png +0 -0
  45. package/dist/client/unlogged/img/img-logo-dgeyc_blanco.png +0 -0
  46. package/dist/client/unlogged/img/login-logo-icon.png +0 -0
  47. package/dist/client/unlogged/img/logo-128.png +0 -0
  48. package/dist/client/unlogged/img/logo.png +0 -0
  49. package/dist/client/unlogged/img/logos-gcbs-blanco-150x57.png +0 -0
  50. package/dist/client/unlogged/offline.jade +10 -0
  51. package/dist/client/unlogged/redux-formulario.js +315 -0
  52. package/dist/client/unlogged/render-formulario.tsx +2103 -0
  53. package/dist/client/unlogged/render-general.tsx +228 -0
  54. package/dist/client/unlogged/tipos.js +19 -0
  55. package/dist/client/unlogged/tsconfig.json +15 -0
  56. package/dist/server/server/app-dmencu.js +641 -0
  57. package/dist/server/server/def-config.js +108 -0
  58. package/dist/server/server/procedures-dmencu.js +759 -0
  59. package/dist/server/server/server-dmencu.js +23 -0
  60. package/dist/server/server/table-areas.js +121 -0
  61. package/dist/server/server/table-comunas.js +29 -0
  62. package/dist/server/server/table-control_campo.js +100 -0
  63. package/dist/server/server/table-control_resumen.js +19 -0
  64. package/dist/server/server/table-encuestadores.js +19 -0
  65. package/dist/server/server/table-hogares.js +157 -0
  66. package/dist/server/server/table-hogares_sup.js +192 -0
  67. package/dist/server/server/table-lotes.js +44 -0
  68. package/dist/server/server/table-mis_encuestadores.js +78 -0
  69. package/dist/server/server/table-mis_tareas.js +19 -0
  70. package/dist/server/server/table-mis_tareas_areas.js +19 -0
  71. package/dist/server/server/table-mis_tareas_tem.js +19 -0
  72. package/dist/server/server/table-no_rea.js +33 -0
  73. package/dist/server/server/table-no_rea_sup.js +33 -0
  74. package/dist/server/server/table-operaciones.js +31 -0
  75. package/dist/server/server/table-parametros.js +40 -0
  76. package/dist/server/server/table-permisos.js +32 -0
  77. package/dist/server/server/table-personal.js +63 -0
  78. package/dist/server/server/table-personal_rol.js +43 -0
  79. package/dist/server/server/table-personas.js +449 -0
  80. package/dist/server/server/table-personas_sup.js +94 -0
  81. package/dist/server/server/table-recepcionistas.js +19 -0
  82. package/dist/server/server/table-recuperadores.js +19 -0
  83. package/dist/server/server/table-resultados_tarea.js +29 -0
  84. package/dist/server/server/table-roles.js +33 -0
  85. package/dist/server/server/table-roles_permisos.js +36 -0
  86. package/dist/server/server/table-roles_subordinados.js +33 -0
  87. package/dist/server/server/table-semanas.js +42 -0
  88. package/dist/server/server/table-sincronizaciones.js +31 -0
  89. package/dist/server/server/table-supervisores.js +19 -0
  90. package/dist/server/server/table-tareas.js +47 -0
  91. package/dist/server/server/table-tareas_areas.js +68 -0
  92. package/dist/server/server/table-tareas_tem.js +148 -0
  93. package/dist/server/server/table-tem.js +187 -0
  94. package/dist/server/server/table-tem_recepcion.js +19 -0
  95. package/dist/server/server/table-usuarios.js +59 -0
  96. package/dist/server/server/table-visitas.js +92 -0
  97. package/dist/server/server/table-visitas_sup.js +92 -0
  98. package/dist/server/server/table-viviendas.js +300 -0
  99. package/dist/server/server/types-dmencu.js +24 -0
  100. package/dist/server/unlogged/tipos.js +19 -0
  101. package/dist/unlogged/unlogged/abrir-formulario.js +99 -0
  102. package/dist/unlogged/unlogged/adapt.js +8 -0
  103. package/dist/unlogged/unlogged/bypass-formulario.js +1141 -0
  104. package/dist/unlogged/unlogged/css/Roboto-Regular.ttf +0 -0
  105. package/dist/unlogged/unlogged/css/bootstrap.min.css +7 -0
  106. package/dist/unlogged/unlogged/css/formulario-react.styl +756 -0
  107. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-192.png +0 -0
  108. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-192_capa.png +0 -0
  109. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-192_test.png +0 -0
  110. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-32.png +0 -0
  111. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-32_capa.png +0 -0
  112. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-32_test.png +0 -0
  113. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-48.png +0 -0
  114. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-48_capa.png +0 -0
  115. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-48_test.png +0 -0
  116. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-512.png +0 -0
  117. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-512_capa.png +0 -0
  118. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-512_test.png +0 -0
  119. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-64.png +0 -0
  120. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-64_capa.png +0 -0
  121. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-64_test.png +0 -0
  122. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-72.png +0 -0
  123. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-72_capa.png +0 -0
  124. package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-72_test.png +0 -0
  125. package/dist/unlogged/unlogged/img/_login-logo-icon.png +0 -0
  126. package/dist/unlogged/unlogged/img/_logo-128.png +0 -0
  127. package/dist/unlogged/unlogged/img/_logo.png +0 -0
  128. package/dist/unlogged/unlogged/img/borrar-valor.pdn +0 -0
  129. package/dist/unlogged/unlogged/img/borrar-valor.png +0 -0
  130. package/dist/unlogged/unlogged/img/fondo-salteado-crudo.pdn +0 -0
  131. package/dist/unlogged/unlogged/img/fondo-salteado-error.png +0 -0
  132. package/dist/unlogged/unlogged/img/fondo-salteado.pdn +0 -0
  133. package/dist/unlogged/unlogged/img/fondo-salteado.png +0 -0
  134. package/dist/unlogged/unlogged/img/img-logo-dgeyc_blanco.png +0 -0
  135. package/dist/unlogged/unlogged/img/login-logo-icon.png +0 -0
  136. package/dist/unlogged/unlogged/img/logo-128.png +0 -0
  137. package/dist/unlogged/unlogged/img/logo.png +0 -0
  138. package/dist/unlogged/unlogged/img/logos-gcbs-blanco-150x57.png +0 -0
  139. package/dist/unlogged/unlogged/offline.jade +10 -0
  140. package/dist/unlogged/unlogged/redux-formulario.js +315 -0
  141. package/dist/unlogged/unlogged/render-formulario.js +1485 -0
  142. package/dist/unlogged/unlogged/render-formulario.tsx +2103 -0
  143. package/dist/unlogged/unlogged/render-general.js +185 -0
  144. package/dist/unlogged/unlogged/render-general.tsx +228 -0
  145. package/dist/unlogged/unlogged/tipos.js +19 -0
  146. package/dist/unlogged/unlogged/tsconfig.json +15 -0
  147. package/dist/unlogged/unlogged/unlogged.js +180 -0
  148. package/package.json +91 -0
@@ -0,0 +1,180 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ (function (factory) {
11
+ if (typeof module === "object" && typeof module.exports === "object") {
12
+ var v = factory(require, exports);
13
+ if (v !== undefined) module.exports = v;
14
+ }
15
+ else if (typeof define === "function" && define.amd) {
16
+ define(["require", "exports", "js-to-html", "./render-formulario", "./abrir-formulario"], factory);
17
+ }
18
+ })(function (require, exports) {
19
+ "use strict";
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.awaitForCacheLayout = void 0;
22
+ const js_to_html_1 = require("js-to-html");
23
+ const render_formulario_1 = require("./render-formulario");
24
+ const abrir_formulario_1 = require("./abrir-formulario");
25
+ const ServiceWorkerAdmin = require("service-worker-admin");
26
+ function siExisteId(id, hacer) {
27
+ var elemento = document.getElementById(id);
28
+ if (elemento != null) {
29
+ hacer(elemento);
30
+ }
31
+ }
32
+ function mostrarElementoId(id, mostrar) {
33
+ siExisteId(id, e => e.style.display = mostrar ? 'block' : 'none');
34
+ }
35
+ const URL_DM = 'campo';
36
+ var reloadWithoutHash = () => {
37
+ history.replaceState(null, '', `${location.origin + location.pathname}/../${URL_DM}`);
38
+ location.reload();
39
+ };
40
+ window.addEventListener('load', function () {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ var layout = document.getElementById('total-layout');
43
+ if (!layout) {
44
+ console.log('no encuentro el DIV.total-layout');
45
+ yield myOwn.ready;
46
+ layout = document.getElementById('total-layout');
47
+ }
48
+ yield myOwn.ready;
49
+ if (location.pathname.endsWith('/salvar')) {
50
+ try {
51
+ for (let x in localStorage) {
52
+ console.log(localStorage[x]);
53
+ yield myOwn.ajax.dm_rescatar({ localStorageItem: localStorage[x], localStorageItemKey: x });
54
+ layout.append(js_to_html_1.html.p(`item "${x}" de localStogage guardado.`).create());
55
+ }
56
+ layout.append(js_to_html_1.html.p(`todos los items fueron salvados.`).create());
57
+ }
58
+ catch (err) {
59
+ layout.append(js_to_html_1.html.p(`se produjo un error al salvar los datos del dm.`).create());
60
+ }
61
+ try {
62
+ var registrations = yield navigator.serviceWorker.getRegistrations();
63
+ for (let registration of registrations) {
64
+ yield registration.unregister();
65
+ }
66
+ layout.append(js_to_html_1.html.p(`todos los sw fueron desinstalados.`).create());
67
+ }
68
+ catch (err) {
69
+ layout.append(js_to_html_1.html.p(`se produjo un error al desinstalar los sw.`).create());
70
+ }
71
+ }
72
+ else {
73
+ layout.innerHTML = `
74
+ <span id="mini-console"></span>
75
+ <div id=nueva-version-instalada style="position:fixed; top:5px; z-index:9500; display:none">
76
+ <span>Hay una nueva versión instalada </span><button id=refrescar><span class=rotar>↻</span> refrescar</button>
77
+ </div>
78
+ <div id=instalado style="display:none">
79
+ <div id=main_layout></div>
80
+ </div>
81
+ <div id=instalando style="display:none; margin-top:30px">
82
+ <div id=volver-de-instalacion style="position:fixed; top:5px; z-index:9500;">
83
+ <span id=volver-de-instalacion-por-que></span>
84
+ <button id=volver-de-instalacion-como>volver</button>
85
+ </div>
86
+ <div id=archivos>
87
+ <h2>progreso instalacion</h2>
88
+ </div>
89
+ </div>
90
+ `;
91
+ if (location.pathname.endsWith(`/${URL_DM}`)) {
92
+ var startApp = () => __awaiter(this, void 0, void 0, function* () { });
93
+ var datosByPass = my.getLocalVar(abrir_formulario_1.GLOVAR_DATOSBYPASS);
94
+ if (datosByPass) {
95
+ startApp = () => __awaiter(this, void 0, void 0, function* () {
96
+ var version = yield swa.getSW('version');
97
+ myOwn.setLocalVar('app-cache-version', version);
98
+ //@ts-ignore existe
99
+ (0, abrir_formulario_1.cargarEstructura)(my.getLocalVar(abrir_formulario_1.GLOVAR_ESTRUCTURA));
100
+ (0, abrir_formulario_1.cargarHojaDeRuta)(Object.assign(Object.assign({}, datosByPass), { modoAlmacenamiento: 'local' }));
101
+ (0, render_formulario_1.desplegarFormularioActual)({ modoDemo: false });
102
+ my.menuName = URL_DM;
103
+ });
104
+ }
105
+ else {
106
+ startApp = () => __awaiter(this, void 0, void 0, function* () {
107
+ //@ts-ignore existe
108
+ (0, render_formulario_1.dmPantallaInicialSinCarga)();
109
+ });
110
+ }
111
+ var refrescarStatus = function (showScreen, newVersionAvaiable, installing) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ var buscandoActualizacion = location.href.endsWith('#inst=1');
114
+ document.getElementById('nueva-version-instalada').style.display = newVersionAvaiable == 'yes' ? '' : 'none';
115
+ document.getElementById('volver-de-instalacion').style.display = newVersionAvaiable == 'yes' ? 'none' : '';
116
+ if (showScreen == 'app' && !buscandoActualizacion) {
117
+ document.getElementById('instalado').style.display = '';
118
+ document.getElementById('instalando').style.display = 'none';
119
+ }
120
+ else {
121
+ document.getElementById('instalado').style.display = 'none';
122
+ document.getElementById('instalando').style.display = '';
123
+ }
124
+ });
125
+ };
126
+ var swa = new ServiceWorkerAdmin();
127
+ swa.installOrActivate({
128
+ onEachFile: (url, error) => __awaiter(this, void 0, void 0, function* () {
129
+ console.log('file: ', url);
130
+ document.getElementById('archivos').append(js_to_html_1.html.div(url).create());
131
+ }),
132
+ onInfoMessage: (m) => console.log('message: ', m),
133
+ onError: (err, context) => __awaiter(this, void 0, void 0, function* () {
134
+ console.log('error: ' + (context ? ` en (${context})` : ''), err);
135
+ console.log(context, err, 'error-console');
136
+ console.log('error al descargar cache', err.message);
137
+ if (context != 'initializing service-worker') {
138
+ var layout = yield exports.awaitForCacheLayout;
139
+ var cacheStatusElement = document.getElementById('cache-status');
140
+ if (!cacheStatusElement) {
141
+ cacheStatusElement = js_to_html_1.html.p({ id: 'cache-status' }).create();
142
+ layout.insertBefore(cacheStatusElement, layout.firstChild);
143
+ }
144
+ cacheStatusElement.classList.remove('warning');
145
+ cacheStatusElement.classList.remove('all-ok');
146
+ cacheStatusElement.classList.add('danger');
147
+ cacheStatusElement.textContent = 'error al descargar la aplicación. ' + err.message;
148
+ }
149
+ }),
150
+ onReadyToStart: startApp,
151
+ onStateChange: refrescarStatus
152
+ });
153
+ }
154
+ document.getElementById('refrescar').addEventListener('click', () => {
155
+ reloadWithoutHash();
156
+ });
157
+ document.getElementById('volver-de-instalacion-como').addEventListener('click', () => {
158
+ reloadWithoutHash();
159
+ });
160
+ }
161
+ });
162
+ });
163
+ exports.awaitForCacheLayout = function prepareLayoutForCache() {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ yield new Promise(function (resolve, _reject) {
166
+ window.addEventListener('load', resolve);
167
+ });
168
+ var layout = (document.getElementById('cache-layout') || document.createElement('div'));
169
+ if (!layout.id) {
170
+ layout.id = 'cache-layout';
171
+ layout.appendChild(js_to_html_1.html.div({ id: 'app-versions' }).create());
172
+ layout.appendChild(js_to_html_1.html.div({ id: 'app-status' }).create());
173
+ document.body.appendChild(layout.appendChild(js_to_html_1.html.div({ id: 'cache-log' }).create()));
174
+ document.body.insertBefore(layout, document.body.firstChild);
175
+ }
176
+ return layout;
177
+ });
178
+ }();
179
+ });
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5sb2dnZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvdW5sb2dnZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFDYiwyQ0FBaUM7SUFDakMsMkRBQTJGO0lBQzNGLHlEQUErRztJQUMvRyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBRTNELFNBQVMsVUFBVSxDQUFDLEVBQVUsRUFBRSxLQUFrQztRQUM5RCxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLElBQUcsUUFBUSxJQUFFLElBQUksRUFBQztZQUNkLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuQjtJQUNMLENBQUM7SUFFRCxTQUFTLGlCQUFpQixDQUFDLEVBQVMsRUFBRSxPQUFlO1FBQ2pELFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFBLE9BQU8sQ0FBQSxDQUFDLENBQUEsTUFBTSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUV2QixJQUFJLGlCQUFpQixHQUFHLEdBQUUsRUFBRTtRQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFDLFFBQVEsQ0FBQyxRQUFRLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNwRixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDckIsQ0FBQyxDQUFBO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRTs7WUFDNUIsSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENB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QUNwRixJQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQztnQkFDVixNQUFNLENBQUMsRUFBRSxHQUFDLGNBQWMsQ0FBQztnQkFDekIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUUsRUFBQyxjQUFjLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBQzNELE1BQU0sQ0FBQyxXQUFXLENBQUMsaUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxFQUFFLEVBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGlCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLFdBQVcsRUFBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNuRixRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTthQUM5RDtZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7S0FBQSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuaW1wb3J0IHtodG1sfSAgZnJvbSAnanMtdG8taHRtbCc7XHJcbmltcG9ydCB7IGRlc3BsZWdhckZvcm11bGFyaW9BY3R1YWwsIGRtUGFudGFsbGFJbmljaWFsU2luQ2FyZ2EgfSBmcm9tICcuL3JlbmRlci1mb3JtdWxhcmlvJztcclxuaW1wb3J0IHsgY2FyZ2FyRXN0cnVjdHVyYSwgY2FyZ2FySG9qYURlUnV0YSwgR0xPVkFSX0VTVFJVQ1RVUkEsIEdMT1ZBUl9EQVRPU0JZUEFTUyB9IGZyb20gJy4vYWJyaXItZm9ybXVsYXJpbyc7XHJcbmNvbnN0IFNlcnZpY2VXb3JrZXJBZG1pbiA9IHJlcXVpcmUoXCJzZXJ2aWNlLXdvcmtlci1hZG1pblwiKTtcclxuXHJcbmZ1bmN0aW9uIHNpRXhpc3RlSWQoaWQ6IHN0cmluZywgaGFjZXI6IChhcmcwOiBIVE1MRWxlbWVudCkgPT4gdm9pZCl7XHJcbiAgICB2YXIgZWxlbWVudG8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XHJcbiAgICBpZihlbGVtZW50byE9bnVsbCl7XHJcbiAgICAgICAgaGFjZXIoZWxlbWVudG8pO1xyXG4gICAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBtb3N0cmFyRWxlbWVudG9JZChpZDpzdHJpbmcsIG1vc3RyYXI6Ym9vbGVhbil7XHJcbiAgICBzaUV4aXN0ZUlkKGlkLCBlPT5lLnN0eWxlLmRpc3BsYXk9bW9zdHJhcj8nYmxvY2snOidub25lJyk7XHJcbn1cclxuY29uc3QgVVJMX0RNID0gJ2NhbXBvJztcclxuXHJcbnZhciByZWxvYWRXaXRob3V0SGFzaCA9ICgpPT57XHJcbiAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgYCR7bG9jYXRpb24ub3JpZ2luK2xvY2F0aW9uLnBhdGhuYW1lfS8uLi8ke1VSTF9ETX1gKTtcclxuICAgIGxvY2F0aW9uLnJlbG9hZCgpXHJcbn1cclxuXHJcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMgZnVuY3Rpb24oKXtcclxuICAgIHZhciBsYXlvdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG90YWwtbGF5b3V0JykhO1xyXG4gICAgaWYoIWxheW91dCl7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ25vIGVuY3VlbnRybyBlbCBESVYudG90YWwtbGF5b3V0JylcclxuICAgICAgICBhd2FpdCBteU93bi5yZWFkeTtcclxuICAgICAgICBsYXlvdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG90YWwtbGF5b3V0JykhO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgbXlPd24ucmVhZHk7XHJcbiAgICBpZihsb2NhdGlvbi5wYXRobmFtZS5lbmRzV2l0aCgnL3NhbHZhcicpKXtcclxuICAgICAgICB0cnl7XHJcbiAgICAgICAgICAgIGZvciAobGV0IHggaW4gbG9jYWxTdG9yYWdlKXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGxvY2FsU3RvcmFnZVt4XSk7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCBteU93bi5hamF4LmRtX3Jlc2NhdGFyKHtsb2NhbFN0b3JhZ2VJdGVtOmxvY2FsU3RvcmFnZVt4XSwgbG9jYWxTdG9yYWdlSXRlbUtleTp4fSlcclxuICAgICAgICAgICAgICAgIGxheW91dC5hcHBlbmQoXHJcbiAgICAgICAgICAgICAgICAgICAgaHRtbC5wKGBpdGVtIFwiJHt4fVwiIGRlIGxvY2FsU3RvZ2FnZSBndWFyZGFkby5gKS5jcmVhdGUoKVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxheW91dC5hcHBlbmQoXHJcbiAgICAgICAgICAgICAgICBodG1sLnAoYHRvZG9zIGxvcyBpdGVtcyBmdWVyb24gc2FsdmFkb3MuYCkuY3JlYXRlKClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1jYXRjaChlcnIpe1xyXG4gICAgICAgICAgICBsYXlvdXQuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgaHRtbC5wKGBzZSBwcm9kdWpvIHVuIGVycm9yIGFsIHNhbHZhciBsb3MgZGF0b3MgZGVsIGRtLmApLmNyZWF0ZSgpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJ5e1xyXG4gICAgICAgICAgICB2YXIgcmVnaXN0cmF0aW9ucyA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbnMoKTtcclxuICAgICAgICAgICAgZm9yKGxldCByZWdpc3RyYXRpb24gb2YgcmVnaXN0cmF0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxheW91dC5hcHBlbmQoXHJcbiAgICAgICAgICAgICAgICBodG1sLnAoYHRvZG9zIGxvcyBzdyBmdWVyb24gZGVzaW5zdGFsYWRvcy5gKS5jcmVhdGUoKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgfWNhdGNoKGVycil7XHJcbiAgICAgICAgICAgIGxheW91dC5hcHBlbmQoXHJcbiAgICAgICAgICAgICAgICBodG1sLnAoYHNlIHByb2R1am8gdW4gZXJyb3IgYWwgZGVzaW5zdGFsYXIgbG9zIHN3LmApLmNyZWF0ZSgpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICB9XHJcbiAgICB9ZWxzZXtcclxuICAgICAgICBsYXlvdXQuaW5uZXJIVE1MPWBcclxuICAgICAgICAgICAgPHNwYW4gaWQ9XCJtaW5pLWNvbnNvbGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgaWQ9bnVldmEtdmVyc2lvbi1pbnN0YWxhZGEgc3R5bGU9XCJwb3NpdGlvbjpmaXhlZDsgdG9wOjVweDsgei1pbmRleDo5NTAwOyBkaXNwbGF5Om5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPkhheSB1bmEgbnVldmEgdmVyc2nDs24gaW5zdGFsYWRhIDwvc3Bhbj48YnV0dG9uIGlkPXJlZnJlc2Nhcj48c3BhbiBjbGFzcz1yb3Rhcj7ihrs8L3NwYW4+IHJlZnJlc2NhcjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBpZD1pbnN0YWxhZG8gc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9bWFpbl9sYXlvdXQ+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGlkPWluc3RhbGFuZG8gc3R5bGU9XCJkaXNwbGF5Om5vbmU7IG1hcmdpbi10b3A6MzBweFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD12b2x2ZXItZGUtaW5zdGFsYWNpb24gc3R5bGU9XCJwb3NpdGlvbjpmaXhlZDsgdG9wOjVweDsgei1pbmRleDo5NTAwO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPXZvbHZlci1kZS1pbnN0YWxhY2lvbi1wb3ItcXVlPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPXZvbHZlci1kZS1pbnN0YWxhY2lvbi1jb21vPnZvbHZlcjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPWFyY2hpdm9zPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMj5wcm9ncmVzbyBpbnN0YWxhY2lvbjwvaDI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgYDtcclxuICAgICAgICBpZihsb2NhdGlvbi5wYXRobmFtZS5lbmRzV2l0aChgLyR7VVJMX0RNfWApKXtcclxuICAgICAgICAgICAgdmFyIHN0YXJ0QXBwOigpPT5Qcm9taXNlPHZvaWQ+ID0gYXN5bmMgKCk9Pnt9O1xyXG4gICAgICAgICAgICB2YXIgZGF0b3NCeVBhc3MgPSBteS5nZXRMb2NhbFZhcihHTE9WQVJfREFUT1NCWVBBU1MpO1xyXG4gICAgICAgICAgICBpZihkYXRvc0J5UGFzcyl7XHJcbiAgICAgICAgICAgICAgICBzdGFydEFwcCA9IGFzeW5jICgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHZlcnNpb24gPSBhd2FpdCBzd2EuZ2V0U1coJ3ZlcnNpb24nKTtcclxuICAgICAgICAgICAgICAgICAgICBteU93bi5zZXRMb2NhbFZhcignYXBwLWNhY2hlLXZlcnNpb24nLCB2ZXJzaW9uKTtcclxuICAgICAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmUgZXhpc3RlIFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcmdhckVzdHJ1Y3R1cmEobXkuZ2V0TG9jYWxWYXIoR0xPVkFSX0VTVFJVQ1RVUkEpKTtcclxuICAgICAgICAgICAgICAgICAgICBjYXJnYXJIb2phRGVSdXRhKHsgLi4uZGF0b3NCeVBhc3MsIG1vZG9BbG1hY2VuYW1pZW50bzogJ2xvY2FsJyB9KTtcclxuICAgICAgICAgICAgICAgICAgICBkZXNwbGVnYXJGb3JtdWxhcmlvQWN0dWFsKHttb2RvRGVtbzogZmFsc2V9KTtcclxuICAgICAgICAgICAgICAgICAgICBteS5tZW51TmFtZSA9IFVSTF9ETTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICBzdGFydEFwcCA9IGFzeW5jICgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgLy9AdHMtaWdub3JlIGV4aXN0ZSBcclxuICAgICAgICAgICAgICAgICAgICBkbVBhbnRhbGxhSW5pY2lhbFNpbkNhcmdhKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdmFyIHJlZnJlc2NhclN0YXR1cz1hc3luYyBmdW5jdGlvbihzaG93U2NyZWVuLCBuZXdWZXJzaW9uQXZhaWFibGUsIGluc3RhbGxpbmcpe1xyXG4gICAgICAgICAgICAgICAgdmFyIGJ1c2NhbmRvQWN0dWFsaXphY2lvbiA9IGxvY2F0aW9uLmhyZWYuZW5kc1dpdGgoJyNpbnN0PTEnKTtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdudWV2YS12ZXJzaW9uLWluc3RhbGFkYScpIS5zdHlsZS5kaXNwbGF5PW5ld1ZlcnNpb25BdmFpYWJsZT09J3llcyc/Jyc6J25vbmUnO1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZvbHZlci1kZS1pbnN0YWxhY2lvbicpIS5zdHlsZS5kaXNwbGF5PW5ld1ZlcnNpb25BdmFpYWJsZT09J3llcyc/J25vbmUnOicnO1xyXG4gICAgICAgICAgICAgICAgaWYoc2hvd1NjcmVlbj09J2FwcCcgJiYgIWJ1c2NhbmRvQWN0dWFsaXphY2lvbil7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2luc3RhbGFkbycpIS5zdHlsZS5kaXNwbGF5PScnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnN0YWxhbmRvJykhLnN0eWxlLmRpc3BsYXk9J25vbmUnO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2luc3RhbGFkbycpIS5zdHlsZS5kaXNwbGF5PSdub25lJztcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5zdGFsYW5kbycpIS5zdHlsZS5kaXNwbGF5PScnO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB2YXIgc3dhID0gbmV3IFNlcnZpY2VXb3JrZXJBZG1pbigpO1xyXG4gICAgICAgICAgICBzd2EuaW5zdGFsbE9yQWN0aXZhdGUoe1xyXG4gICAgICAgICAgICAgICAgb25FYWNoRmlsZTogYXN5bmMgKHVybCwgZXJyb3IpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2ZpbGU6ICcsdXJsKTtcclxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXJjaGl2b3MnKSEuYXBwZW5kKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBodG1sLmRpdih1cmwpLmNyZWF0ZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIG9uSW5mb01lc3NhZ2U6IChtKT0+Y29uc29sZS5sb2coJ21lc3NhZ2U6ICcsIG0pLFxyXG4gICAgICAgICAgICAgICAgb25FcnJvcjogYXN5bmMgKGVyciwgY29udGV4dCk9PntcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZXJyb3I6ICcrKGNvbnRleHQ/YCBlbiAoJHtjb250ZXh0fSlgOicnKSwgZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhjb250ZXh0LCBlcnIsICdlcnJvci1jb25zb2xlJylcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZXJyb3IgYWwgZGVzY2FyZ2FyIGNhY2hlJywgZXJyLm1lc3NhZ2UpXHJcbiAgICAgICAgICAgICAgICAgICAgaWYoY29udGV4dCE9J2luaXRpYWxpemluZyBzZXJ2aWNlLXdvcmtlcicpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGF5b3V0ID0gYXdhaXQgYXdhaXRGb3JDYWNoZUxheW91dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNhY2hlU3RhdHVzRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYWNoZS1zdGF0dXMnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoIWNhY2hlU3RhdHVzRWxlbWVudCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVN0YXR1c0VsZW1lbnQgPSBodG1sLnAoe2lkOidjYWNoZS1zdGF0dXMnfSkuY3JlYXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQuaW5zZXJ0QmVmb3JlKGNhY2hlU3RhdHVzRWxlbWVudCwgbGF5b3V0LmZpcnN0Q2hpbGQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd3YXJuaW5nJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2FsbC1vaycpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdkYW5nZXInKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVN0YXR1c0VsZW1lbnQudGV4dENvbnRlbnQ9J2Vycm9yIGFsIGRlc2NhcmdhciBsYSBhcGxpY2FjacOzbi4gJyArIGVyci5tZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBvblJlYWR5VG9TdGFydDpzdGFydEFwcCxcclxuICAgICAgICAgICAgICAgIG9uU3RhdGVDaGFuZ2U6cmVmcmVzY2FyU3RhdHVzXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVmcmVzY2FyJykhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+e1xyXG4gICAgICAgICAgICByZWxvYWRXaXRob3V0SGFzaCgpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZvbHZlci1kZS1pbnN0YWxhY2lvbi1jb21vJykhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+e1xyXG4gICAgICAgICAgICByZWxvYWRXaXRob3V0SGFzaCgpXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0pXHJcblxyXG5leHBvcnQgdmFyIGF3YWl0Rm9yQ2FjaGVMYXlvdXQgPSBhc3luYyBmdW5jdGlvbiBwcmVwYXJlTGF5b3V0Rm9yQ2FjaGUoKXtcclxuICAgIGF3YWl0IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIF9yZWplY3Qpe1xyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJyxyZXNvbHZlKTtcclxuICAgIH0pO1xyXG4gICAgdmFyIGxheW91dD0oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhY2hlLWxheW91dCcpfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XHJcbiAgICBpZighbGF5b3V0LmlkKXtcclxuICAgICAgICBsYXlvdXQuaWQ9J2NhY2hlLWxheW91dCc7XHJcbiAgICAgICAgbGF5b3V0LmFwcGVuZENoaWxkKGh0bWwuZGl2KHtpZDonYXBwLXZlcnNpb25zJ30pLmNyZWF0ZSgpKTtcclxuICAgICAgICBsYXlvdXQuYXBwZW5kQ2hpbGQoaHRtbC5kaXYoe2lkOidhcHAtc3RhdHVzJ30pLmNyZWF0ZSgpKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxheW91dC5hcHBlbmRDaGlsZChodG1sLmRpdih7aWQ6J2NhY2hlLWxvZyd9KS5jcmVhdGUoKSkpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKGxheW91dCxkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gbGF5b3V0O1xyXG59KCk7Il19
package/package.json ADDED
@@ -0,0 +1,91 @@
1
+ {
2
+ "name": "dmencu",
3
+ "description": "DM Encu - Encuestas en dispositivo móvil",
4
+ "version": "0.1.5",
5
+ "private": false,
6
+ "author": "Codenautas <codenautas@googlegroups.com>",
7
+ "license": "MIT",
8
+ "main": "dist/server/server/server-dmencu.js",
9
+ "types": "dist/server/server/app-dmencu.d.ts",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "dependencies": {
14
+ "@material-ui/core": "~4.12.3",
15
+ "backend-plus": "^1.16.2",
16
+ "memoize-one": "^6.0.0",
17
+ "meta-enc": "^1.4.3",
18
+ "procesamiento": "^1.0.9",
19
+ "qrcode": "^1.5.0",
20
+ "react": "^17.0.2",
21
+ "react-dom": "^17.0.2",
22
+ "react-redux": "^7.2.6",
23
+ "redux": "^4.1.2",
24
+ "redux-typed-reducer": "~0.1.1",
25
+ "service-worker-admin": "^0.2.1",
26
+ "yazl": "~2.5.1",
27
+ "cast-error": "^0.1.0",
28
+ "row-validator": "^1.0.0-rc1"
29
+ },
30
+ "dependencias provisorias: las que se pongan en dependencias ponerlas acá y sacarlas juntas": {},
31
+ "devDependencies": {
32
+ "@types/mocha": "^9.0.0",
33
+ "@types/node": "^17.0.10",
34
+ "@types/qrcode": "^1.4.2",
35
+ "@types/react": "^17.0.38",
36
+ "@types/react-dom": "^17.0.11",
37
+ "@types/react-redux": "^7.1.22",
38
+ "@types/yazl": "~2.4.2",
39
+ "cross-var": "^1.1.0",
40
+ "discrepances": "~0.2.6",
41
+ "mixin-patch": "~0.4.0",
42
+ "pg-triggers": "~0.3.2",
43
+ "types.d.ts": "~0.6.6",
44
+ "typescript": "^4.5.4"
45
+ },
46
+ "engines": {
47
+ "node": ">= 14.17.0"
48
+ },
49
+ "scripts": {
50
+ "prepublish": "npm run build",
51
+ "build": "(tsc -p src/unlogged || echo \"continue w/error\") && (tsc -p src/client || echo \"continue w/error\") && (tsc -p src/server || echo \"continue w/error\") && mixin-patch",
52
+ "build-client": "(tsc -p src/client || echo \"continue w/error\") && mixin-patch",
53
+ "build-unlogged": "(tsc -p src/unlogged || echo \"continue w/error\") && mixin-patch",
54
+ "mixin-patch": "mixin-patch",
55
+ "watch:buildC": "(tsc -p src/client --watch || echo \"continue w/error\")",
56
+ "watch:buildS": "(tsc -p src/server --watch || echo \"continue w/error\")",
57
+ "watch:buildU": "(tsc -p src/unlogged --watch || echo \"continue w/error\")",
58
+ "test": "mocha --reporter spec --bail --check-leaks test/",
59
+ "start": "node dist/server/server/server-dmencu.js",
60
+ "dump": "npm start -- --dump-db",
61
+ "bdump": "npm run build && npm run dump"
62
+ },
63
+ "config": {
64
+ "stackFolder": "../../codenautas"
65
+ },
66
+ "qa-control": {
67
+ "package-version": "0.3.0",
68
+ "coverage": 90,
69
+ "run-in": "server",
70
+ "stability": "extending",
71
+ "type": "app",
72
+ "ecmaVersion": 6
73
+ },
74
+ "mixin-patch": {
75
+ "patch": false,
76
+ "copy": [
77
+ {
78
+ "from": "src/client",
79
+ "to": "dist/client/client"
80
+ },
81
+ {
82
+ "from": "src/unlogged",
83
+ "to": "dist/unlogged/unlogged"
84
+ },
85
+ {
86
+ "from": "src/unlogged",
87
+ "to": "dist/client/unlogged"
88
+ }
89
+ ]
90
+ }
91
+ }