contable 0.0.1 → 0.0.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 (44) hide show
  1. package/dist/client/client.d.ts +1 -0
  2. package/dist/client/client.js +63 -140
  3. package/dist/client/menu.d.ts +0 -0
  4. package/dist/client/redux-formulario.d.ts +477 -0
  5. package/dist/client/redux-formulario.js +236 -289
  6. package/dist/client/render-components.d.ts +66 -0
  7. package/dist/client/render-components.js +293 -426
  8. package/dist/client/render-formulario.d.ts +1 -0
  9. package/dist/client/render-formulario.js +4 -4
  10. package/dist/client/render-general.d.ts +124 -0
  11. package/dist/client/render-general.js +38 -63
  12. package/dist/client/render-handlers.d.ts +1 -0
  13. package/dist/client/render-handlers.js +14 -54
  14. package/dist/client/tipos.d.ts +119 -0
  15. package/dist/client/tsconfig.json +3 -1
  16. package/dist/server/app-contable.d.ts +118 -0
  17. package/dist/server/def-config.d.ts +1 -0
  18. package/dist/server/procedures-contable.d.ts +3 -0
  19. package/dist/server/server-contable.d.ts +1 -0
  20. package/dist/server/table-categorias_producto.d.ts +2 -0
  21. package/dist/server/table-clientes.d.ts +2 -0
  22. package/dist/server/table-condicion_iva.d.ts +2 -0
  23. package/dist/server/table-estados_pedido.d.ts +2 -0
  24. package/dist/server/table-estados_presupuesto.d.ts +2 -0
  25. package/dist/server/table-insumos.d.ts +2 -0
  26. package/dist/server/table-items_pedido.d.ts +2 -0
  27. package/dist/server/table-items_presupuesto.d.ts +2 -0
  28. package/dist/server/table-iva_productos.d.ts +2 -0
  29. package/dist/server/table-parametros.d.ts +2 -0
  30. package/dist/server/table-pedidos.d.ts +2 -0
  31. package/dist/server/table-pedidos_pendientes.d.ts +2 -0
  32. package/dist/server/table-pedidos_vencidos.d.ts +2 -0
  33. package/dist/server/table-presupuestos.d.ts +2 -0
  34. package/dist/server/table-productos.d.ts +2 -0
  35. package/dist/server/table-productos_clientes.d.ts +2 -0
  36. package/dist/server/table-productos_generales.d.ts +2 -0
  37. package/dist/server/table-productos_insumos.d.ts +2 -0
  38. package/dist/server/table-usuarios.d.ts +2 -0
  39. package/dist/server/types-contable.d.ts +29 -0
  40. package/dist/unlogged/adapt.d.ts +0 -0
  41. package/dist/unlogged/tsconfig.json +1 -1
  42. package/dist/unlogged/unlogged.d.ts +1 -0
  43. package/dist/unlogged/unlogged.js +83 -170
  44. package/package.json +1 -1
@@ -3,7 +3,9 @@
3
3
  "jsx": "react",
4
4
  "outDir": "../../dist/client",
5
5
  "typeRoots" : ["node_modules/@types", "../../node_modules/types.d.ts/modules"],
6
- "lib": ["es5", "dom", "es2015.promise"]
6
+ "inlineSourceMap": true,
7
+ "inlineSources": true,
8
+ "lib": ["dom", "es2019"]
7
9
  },
8
10
  "include":[
9
11
  "."
@@ -0,0 +1,118 @@
1
+ import * as backendPlus from "backend-plus";
2
+ import { ContextRoles } from "./types-contable";
3
+ import { Context, Request, OptsClientPage, ClientModuleDefinition } from "backend-plus";
4
+ export type Constructor<T> = new (...args: any[]) => T;
5
+ export declare function emergeAppContable<T extends Constructor<backendPlus.AppBackend>>(Base: T): {
6
+ new (...args: any[]): {
7
+ addSchrödingerServices(mainApp: backendPlus.Express, baseUrl: string): void;
8
+ addLoggedServices(): void;
9
+ postConfig(): Promise<void>;
10
+ configStaticConfig(): void;
11
+ clientIncludes(req: Request, opts: OptsClientPage): ClientModuleDefinition[];
12
+ getContextForDump(): {
13
+ forDump?: boolean;
14
+ be: backendPlus.AppBackend;
15
+ user: backendPlus.User;
16
+ session: {
17
+ [K: string]: any;
18
+ };
19
+ username: string;
20
+ machineId: string;
21
+ navigator: string;
22
+ es: {
23
+ admin: boolean;
24
+ gabinete: boolean;
25
+ coordinador: boolean;
26
+ encuestador: boolean;
27
+ };
28
+ };
29
+ getContext(req: Request): Context & ContextRoles;
30
+ getProcedures(): Promise<backendPlus.ProcedureDef<any>[]>;
31
+ getMenu(context: Context & ContextRoles): backendPlus.MenuDefinition;
32
+ prepareGetTables(): void;
33
+ procedures: backendPlus.ProcedureDef[];
34
+ procedure: {
35
+ [key: string]: backendPlus.ProcedureDef;
36
+ };
37
+ app: backendPlus.ExpressPlus;
38
+ getTableDefinition: backendPlus.TableDefinitionsGetters;
39
+ tableStructures: backendPlus.TableDefinitions;
40
+ db: backendPlus.MotorDb;
41
+ config: backendPlus.AppConfig;
42
+ rootPath: string;
43
+ caches: backendPlus.Caches;
44
+ fieldDomain: {
45
+ [k: string]: Partial<backendPlus.FieldDefinition>;
46
+ };
47
+ exts: {
48
+ img: string[];
49
+ normal: string[];
50
+ };
51
+ optsGenericForAll: {
52
+ allowedExts?: string[];
53
+ };
54
+ sqls: {
55
+ [k: string]: string;
56
+ };
57
+ messages: {
58
+ [k: string]: string;
59
+ };
60
+ dbUserNameExpr: string;
61
+ dbUserRolExpr: string;
62
+ specialValueWhenInsert: {
63
+ [k: string]: (context: backendPlus.ProcedureContext, defField: backendPlus.FieldDefinition, parameters: object) => any;
64
+ };
65
+ specialSqlDefaultExpressions: Record<string, string>;
66
+ clearCaches(): void;
67
+ start(opts?: backendPlus.StartOptions): Promise<void>;
68
+ getTables(): backendPlus.TableItemDef[];
69
+ appendToTableDefinition(tableName: string, appenderFunction: (tableDef: backendPlus.TableDefinition, context?: backendPlus.TableContext) => void): void;
70
+ addUnloggedServices(mainApp: backendPlus.ExpressPlus, baseUrl: string): void;
71
+ isAdmin(reqOrContext: Request | Context): boolean;
72
+ canChangePass(): Promise<boolean>;
73
+ inDbClient<T_1>(req: backendPlus.RequestDb | null, doThisWithDbClient: (client: backendPlus.Client) => Promise<T_1>): Promise<T_1>;
74
+ inTransaction<T_1>(req: backendPlus.RequestDb | null, doThisWithDbTransaction: (client: backendPlus.Client) => Promise<T_1>): Promise<T_1>;
75
+ inTransactionProcedureContext<T_1>(req: Request | null, coreFunction: (context: backendPlus.ProcedureContext) => Promise<T_1>): Promise<T_1>;
76
+ procedureDefCompleter<T_1>(procedureDef: backendPlus.ProcedureDef): backendPlus.ProcedureDef<T_1>;
77
+ tableDefAdapt(tableDef: backendPlus.TableDefinition, context: Context): backendPlus.TableDefinition;
78
+ pushApp(dirname: string): void;
79
+ dumpDbTableFields(tableDefinition: backendPlus.TableDefinition): string[];
80
+ dumpDbSchemaPartial(partialTableStructures: backendPlus.TableDefinitions, opts?: backendPlus.DumpOptions): Promise<{
81
+ mainSql: string;
82
+ enancePart: string;
83
+ }>;
84
+ getClientSetupForSendToFrontEnd(req: Request): Promise<backendPlus.ClientSetup>;
85
+ configList(): (object | string)[];
86
+ setStaticConfig(defConfigYamlString: string): void;
87
+ mainPage(req: Request | {}, offlineMode?: boolean, opts?: OptsClientPage): {
88
+ toHtmlDoc: () => string;
89
+ };
90
+ isThisProcedureAllowed<T_1>(context: Context, procedureDef: backendPlus.ProcedureDef, params: {
91
+ [key: string]: T_1;
92
+ }): Promise<boolean>;
93
+ checkDatabaseStructure(client: backendPlus.Client): Promise<void>;
94
+ getDbFunctions(opts: backendPlus.DumpOptions): Promise<{
95
+ dumpText: string;
96
+ }[]>;
97
+ i18n: {
98
+ messages: Record<backendPlus.LangId, Record<string, string>>;
99
+ };
100
+ shutdownCallbackListAdd(param: {
101
+ message: string;
102
+ fun: () => Promise<void>;
103
+ }): void;
104
+ shutdownBackend(opts?: {
105
+ skipTurnOff?: boolean;
106
+ onlyTurnOff?: boolean;
107
+ }): Promise<void>;
108
+ setLog(opts: {
109
+ until: string;
110
+ results?: boolean;
111
+ }): void;
112
+ getDataDumpTransformations(rawData: string): Promise<{
113
+ rawData: string;
114
+ prepareTransformationSql: string[];
115
+ endTransformationSql: string[];
116
+ }>;
117
+ };
118
+ } & T;
@@ -0,0 +1 @@
1
+ export declare const defConfig = "\nserver:\n port: 3088\n base-url: /contable\n skins:\n \"\":\n local-path: client/\n confort:\n local-path: node_modules/backend-skins/dist/\n confort-bis:\n local-path: node_modules/backend-skins/dist/\n default:\n local-path: node_modules/backend-skins/dist/\n confort-dark:\n local-path: node_modules/backend-skins/dist/\n confort-gold:\n local-path: node_modules/backend-skins/dist/\n modern:\n local-path: node_modules/backend-skins/dist/\n session-store: memory\ndb:\n motor: postgresql\n host: localhost\n database: contable_db\n schema: conta\n user: contable_user\n search_path: \n - conta\n - public\ninstall:\n dump:\n db:\n owner: contable_owner\n apply-generic-user-replaces: true\n admin-can-create-tables: true\n enances: inline\n skip-content: true\n scripts:\n prepare:\n post-adapt: \n - ../node_modules/pg-triggers/lib/recreate-his.sql\n - ../node_modules/pg-triggers/lib/table-changes.sql\n - ../node_modules/pg-triggers/lib/function-changes-trg.sql\n - ../node_modules/pg-triggers/lib/enance.sql\nlogin:\n table: usuarios\n userFieldName: usuario\n passFieldName: password\n rolFieldName: rol\n infoFieldList: [usuario, rol]\n activeClausule: activo\n plus:\n maxAge-5-sec: 5000 \n maxAge: 864000000\n maxAge-10-day: 864000000\n allowHttpLogin: true\n fileStore: false\n skipCheckAlreadyLoggedIn: true\n loginForm:\n formTitle: contable\n usernameLabel: usuario\n passwordLabel: clave\n buttonLabel: entrar\n formImg: img/login-lock-icon.png\n chPassForm:\n usernameLabel: usuario\n oldPasswordLabel: clave anterior\n newPasswordLabel: nueva clave\n repPasswordLabel: repetir nueva clave\n buttonLabel: Cambiar\n formTitle: Cambio de clave\n messages:\n userOrPassFail: el nombre de usuario no existe o la clave no corresponde\n lockedFail: el usuario se encuentra bloqueado\n inactiveFail: es usuario est\u00E1 marcado como inactivo\nclient-setup:\n skin: modern\n title: contable\n cursors: true\n lang: es\n menu: true\n operativo: contable\n #background-img: ../img/background-test.png\n deviceWidthForMobile: device-width\n user-scalable: no\n";
@@ -0,0 +1,3 @@
1
+ import { ProcedureDef } from "./types-contable";
2
+ export * from "./types-contable";
3
+ export declare const ProceduresContable: ProcedureDef[];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function categorias_producto(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function clientes(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function condicion_iva(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function estados_pedido(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function estados_presupuesto(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function insumos(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function items_pedido(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function items_presupuesto(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function iva_productos(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function parametros(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function pedidos(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function pedidos_pendientes(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function pedidos_vencidos(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function presupuestos(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function productos(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function productos_clientes(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function productos_generales(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function productos_insumos(context: TableContext): TableDefinition;
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-contable";
2
+ export declare function usuarios(context: TableContext): TableDefinition;
@@ -0,0 +1,29 @@
1
+ export * from "backend-plus";
2
+ import * as BackendPlus from "backend-plus";
3
+ export type ProcedureDef = BackendPlus.ProcedureDef & {
4
+ definedIn?: string;
5
+ };
6
+ export type MenuInfoBase = BackendPlus.MenuInfoBase;
7
+ export interface Puedes {
8
+ puede: {
9
+ encuestas: {
10
+ relevar: boolean;
11
+ };
12
+ lab_resultado: {
13
+ editar: boolean;
14
+ ver: boolean;
15
+ };
16
+ campo: {
17
+ editar: boolean;
18
+ administrar: boolean;
19
+ };
20
+ citas: {
21
+ programar: boolean;
22
+ };
23
+ };
24
+ superuser?: true;
25
+ }
26
+ export interface Context extends BackendPlus.Context, Puedes {
27
+ }
28
+ declare namespace BackendPlus {
29
+ }
File without changes
@@ -5,7 +5,7 @@
5
5
  "inlineSourceMap": true,
6
6
  "inlineSources": true,
7
7
  "typeRoots" : ["node_modules/@types", "../../node_modules/types.d.ts/modules"],
8
- "lib": ["es5", "dom"],
8
+ "lib": ["es2019", "dom"],
9
9
  "jsx": "react"
10
10
  },
11
11
  "include":[
@@ -0,0 +1 @@
1
+ export {};
@@ -1,39 +1,3 @@
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
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
1
  (function (factory) {
38
2
  if (typeof module === "object" && typeof module.exports === "object") {
39
3
  var v = factory(require, exports);
@@ -45,105 +9,68 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
9
  })(function (require, exports) {
46
10
  "use strict";
47
11
  Object.defineProperty(exports, "__esModule", { value: true });
48
- var js_to_html_1 = require("js-to-html");
49
- var AjaxBestPromise = require("ajax-best-promise");
50
- window.addEventListener('load', function () {
51
- return __awaiter(this, void 0, void 0, function () {
52
- return __generator(this, function (_a) {
53
- desplegarPresupuesto();
54
- return [2 /*return*/];
55
- });
56
- });
12
+ const js_to_html_1 = require("js-to-html");
13
+ const AjaxBestPromise = require("ajax-best-promise");
14
+ window.addEventListener('load', async function () {
15
+ desplegarPresupuesto();
57
16
  });
58
17
  var wasDownloading = false;
59
18
  var appCache = window.applicationCache;
60
- appCache.addEventListener('downloading', function () {
61
- return __awaiter(this, void 0, void 0, function () {
62
- var layout;
63
- return __generator(this, function (_a) {
64
- switch (_a.label) {
65
- case 0:
66
- mostrarElementoId('dm-comprobando', false);
67
- mostrarElementoId('dm-instalandose', true);
68
- mostrarElementoId('dm-cargando', false);
69
- wasDownloading = true;
70
- return [4 /*yield*/, awaitForCacheLayout];
71
- case 1:
72
- layout = _a.sent();
73
- layout.insertBefore(js_to_html_1.html.p({ id: 'cache-status', class: 'warning' }, [
74
- 'descargando aplicación, por favor no desconecte el dispositivo',
75
- js_to_html_1.html.img({ src: 'img/loading16.gif' }).create()
76
- ]).create(), layout.firstChild);
77
- return [2 /*return*/];
78
- }
79
- });
80
- });
19
+ appCache.addEventListener('downloading', async function () {
20
+ mostrarElementoId('dm-comprobando', false);
21
+ mostrarElementoId('dm-instalandose', true);
22
+ mostrarElementoId('dm-cargando', false);
23
+ wasDownloading = true;
24
+ var layout = await awaitForCacheLayout;
25
+ layout.insertBefore(js_to_html_1.html.p({ id: 'cache-status', class: 'warning' }, [
26
+ 'descargando aplicación, por favor no desconecte el dispositivo',
27
+ js_to_html_1.html.img({ src: 'img/loading16.gif' }).create()
28
+ ]).create(), layout.firstChild);
81
29
  }, false);
82
- appCache.addEventListener('error', function (e) {
83
- return __awaiter(this, void 0, void 0, function () {
84
- var errorEvent, layout, cacheStatusElement;
85
- return __generator(this, function (_a) {
86
- switch (_a.label) {
87
- case 0:
88
- errorEvent = e;
89
- if (!wasDownloading) return [3 /*break*/, 2];
90
- console.log('error al descargar cache', errorEvent.message);
91
- return [4 /*yield*/, awaitForCacheLayout];
92
- case 1:
93
- layout = _a.sent();
94
- cacheStatusElement = document.getElementById('cache-status');
95
- if (!cacheStatusElement) {
96
- cacheStatusElement = js_to_html_1.html.p({ id: 'cache-status' }).create();
97
- layout.insertBefore(cacheStatusElement, layout.firstChild);
98
- }
99
- cacheStatusElement.classList.remove('warning');
100
- cacheStatusElement.classList.add('danger');
101
- cacheStatusElement.textContent = 'error al descargar la aplicación. ' + errorEvent.message;
102
- _a.label = 2;
103
- case 2: return [2 /*return*/];
104
- }
105
- });
106
- });
30
+ appCache.addEventListener('error', async function (e) {
31
+ // @ts-ignore es ErrorEvent porque el evento es 'error'
32
+ var errorEvent = e;
33
+ if (wasDownloading) {
34
+ console.log('error al descargar cache', errorEvent.message);
35
+ var layout = await awaitForCacheLayout;
36
+ var cacheStatusElement = document.getElementById('cache-status');
37
+ if (!cacheStatusElement) {
38
+ cacheStatusElement = js_to_html_1.html.p({ id: 'cache-status' }).create();
39
+ layout.insertBefore(cacheStatusElement, layout.firstChild);
40
+ }
41
+ cacheStatusElement.classList.remove('warning');
42
+ cacheStatusElement.classList.add('danger');
43
+ cacheStatusElement.textContent = 'error al descargar la aplicación. ' + errorEvent.message;
44
+ }
107
45
  }, false);
108
- function cacheReady() {
109
- return __awaiter(this, void 0, void 0, function () {
110
- var result;
111
- return __generator(this, function (_a) {
112
- switch (_a.label) {
113
- case 0:
114
- wasDownloading = false;
115
- return [4 /*yield*/, AjaxBestPromise.get({
116
- url: 'carga-dm/dm-manifest.manifest',
117
- data: {}
118
- })];
119
- case 1:
120
- result = _a.sent();
121
- myOwn.setLocalVar('app-cache-version', result.split('\n')[1]);
122
- mostrarElementoId('dm-comprobando', false);
123
- mostrarElementoId('dm-instalandose', false);
124
- mostrarElementoId('dm-cargando', true);
125
- setTimeout(function () {
126
- var cacheStatusElement = document.getElementById('cache-status');
127
- if (!cacheStatusElement) {
128
- var mainLayout = document.getElementById('main_layout');
129
- cacheStatusElement = js_to_html_1.html.p({ id: 'cache-status' }).create();
130
- mainLayout.insertBefore(cacheStatusElement, mainLayout.firstChild);
131
- }
132
- setTimeout(function () {
133
- cacheStatusElement.classList.add('all-ok');
134
- cacheStatusElement.textContent = 'aplicación actualizada, espere a cargar el formulario';
135
- setTimeout(function () {
136
- cacheStatusElement.style.display = 'none';
137
- }, 5000);
138
- setTimeout(function () {
139
- location.reload();
140
- }, 2000);
141
- }, 5000);
142
- }, 500);
143
- return [2 /*return*/];
144
- }
145
- });
46
+ async function cacheReady() {
47
+ wasDownloading = false;
48
+ var result = await AjaxBestPromise.get({
49
+ url: 'carga-dm/dm-manifest.manifest',
50
+ data: {}
146
51
  });
52
+ myOwn.setLocalVar('app-cache-version', result.split('\n')[1]);
53
+ mostrarElementoId('dm-comprobando', false);
54
+ mostrarElementoId('dm-instalandose', false);
55
+ mostrarElementoId('dm-cargando', true);
56
+ setTimeout(function () {
57
+ var cacheStatusElement = document.getElementById('cache-status');
58
+ if (!cacheStatusElement) {
59
+ var mainLayout = document.getElementById('main_layout');
60
+ cacheStatusElement = js_to_html_1.html.p({ id: 'cache-status' }).create();
61
+ mainLayout.insertBefore(cacheStatusElement, mainLayout.firstChild);
62
+ }
63
+ setTimeout(function () {
64
+ cacheStatusElement.classList.add('all-ok');
65
+ cacheStatusElement.textContent = 'aplicación actualizada, espere a cargar el formulario';
66
+ setTimeout(function () {
67
+ cacheStatusElement.style.display = 'none';
68
+ }, 5000);
69
+ setTimeout(function () {
70
+ location.reload();
71
+ }, 2000);
72
+ }, 5000);
73
+ }, 500);
147
74
  }
148
75
  appCache.addEventListener('updateready', function () {
149
76
  console.log("actualiza cache");
@@ -157,49 +84,35 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
157
84
  console.log("cachea primera vez");
158
85
  cacheReady();
159
86
  }, false);
160
- var awaitForCacheLayout = function prepareLayoutForCache() {
161
- return __awaiter(this, void 0, void 0, function () {
162
- var layout;
163
- return __generator(this, function (_a) {
164
- switch (_a.label) {
165
- case 0: return [4 /*yield*/, new Promise(function (resolve, _reject) {
166
- window.addEventListener('load', resolve);
167
- })];
168
- case 1:
169
- _a.sent();
170
- layout = (document.getElementById('cache-layout') || document.createElement('div'));
171
- if (!layout.id) {
172
- layout.id = 'cache-layout';
173
- layout.appendChild(js_to_html_1.html.div({ id: 'app-versions' }).create());
174
- layout.appendChild(js_to_html_1.html.div({ id: 'app-status' }).create());
175
- document.body.appendChild(layout.appendChild(js_to_html_1.html.div({ id: 'cache-log' }).create()));
176
- document.body.insertBefore(layout, document.body.firstChild);
177
- }
178
- return [2 /*return*/, layout];
179
- }
180
- });
87
+ var awaitForCacheLayout = async function prepareLayoutForCache() {
88
+ await new Promise(function (resolve, _reject) {
89
+ window.addEventListener('load', resolve);
181
90
  });
91
+ var layout = (document.getElementById('cache-layout') || document.createElement('div'));
92
+ if (!layout.id) {
93
+ layout.id = 'cache-layout';
94
+ layout.appendChild(js_to_html_1.html.div({ id: 'app-versions' }).create());
95
+ layout.appendChild(js_to_html_1.html.div({ id: 'app-status' }).create());
96
+ document.body.appendChild(layout.appendChild(js_to_html_1.html.div({ id: 'cache-log' }).create()));
97
+ document.body.insertBefore(layout, document.body.firstChild);
98
+ }
99
+ return layout;
182
100
  }();
183
101
  //@ts-ignore no se usa quizás haya que quitarlo. Aparentemente se copió de hoja-de-ruta.js
184
- function displayWhenReady(message, type, message2, _enOtroRenglon) {
185
- return __awaiter(this, void 0, void 0, function () {
186
- var logLayout, texto, texto2;
187
- return __generator(this, function (_a) {
188
- logLayout = document.getElementById('cache-log');
189
- texto = logLayout.firstElementChild;
190
- texto = document.createElement('div');
191
- logLayout.appendChild(texto);
192
- texto.className = 'log_manifest';
193
- texto.textContent = message;
194
- if (type != 'progress') {
195
- texto2 = document.createElement('span');
196
- texto2.className = 'mensaje_alerta';
197
- texto2.textContent = ' ' + message2;
198
- texto.appendChild(texto2);
199
- }
200
- return [2 /*return*/];
201
- });
202
- });
102
+ async function displayWhenReady(message, type, message2, _enOtroRenglon) {
103
+ // var layout = await awaitForCacheLayout;
104
+ var logLayout = document.getElementById('cache-log');
105
+ var texto = logLayout.firstElementChild;
106
+ texto = document.createElement('div');
107
+ logLayout.appendChild(texto);
108
+ texto.className = 'log_manifest';
109
+ texto.textContent = message;
110
+ if (type != 'progress') {
111
+ var texto2 = document.createElement('span');
112
+ texto2.className = 'mensaje_alerta';
113
+ texto2.textContent = ' ' + message2;
114
+ texto.appendChild(texto2);
115
+ }
203
116
  }
204
117
  });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5sb2dnZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdW5sb2dnZWQvdW5sb2dnZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOztJQUNiLHlDQUFpQztJQUNqQyxtREFBcUQ7SUFFckQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRTs7O2dCQUM1QixvQkFBb0IsRUFBRSxDQUFDOzs7O0tBQzFCLENBQUMsQ0FBQztJQUVILElBQUksY0FBYyxHQUFDLEtBQUssQ0FBQztJQUN6QixJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7SUFDdkMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRTs7Ozs7O3dCQUNyQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQTt3QkFDMUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUE7d0JBQzFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTt3QkFDdkMsY0FBYyxHQUFDLElBQUksQ0FBQzt3QkFDUCxxQkFBTSxtQkFBbUIsRUFBQTs7d0JBQWxDLE1BQU0sR0FBRyxTQUF5Qjt3QkFDdEMsTUFBTSxDQUFDLFlBQVksQ0FDZixpQkFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxjQUFjLEVBQUUsS0FBSyxFQUFDLFNBQVMsRUFBQyxFQUFDOzRCQUN4QyxnRUFBZ0U7NEJBQ2hFLGlCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsR0FBRyxFQUFDLG1CQUFtQixFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7eUJBQy9DLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFDWCxNQUFNLENBQUMsVUFBVSxDQUNwQixDQUFDOzs7OztLQUNMLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFVixRQUFRLENB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anMtdG8taHRtbCc7XHJcbmltcG9ydCAqIGFzIEFqYXhCZXN0UHJvbWlzZSBmcm9tIFwiYWpheC1iZXN0LXByb21pc2VcIjtcclxuXHJcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMgZnVuY3Rpb24oKXtcclxuICAgIGRlc3BsZWdhclByZXN1cHVlc3RvKCk7XHJcbn0pO1xyXG5cclxudmFyIHdhc0Rvd25sb2FkaW5nPWZhbHNlO1xyXG52YXIgYXBwQ2FjaGUgPSB3aW5kb3cuYXBwbGljYXRpb25DYWNoZTtcclxuYXBwQ2FjaGUuYWRkRXZlbnRMaXN0ZW5lcignZG93bmxvYWRpbmcnLCBhc3luYyBmdW5jdGlvbigpIHtcclxuICAgIG1vc3RyYXJFbGVtZW50b0lkKCdkbS1jb21wcm9iYW5kbycsIGZhbHNlKVxyXG4gICAgbW9zdHJhckVsZW1lbnRvSWQoJ2RtLWluc3RhbGFuZG9zZScsIHRydWUpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0tY2FyZ2FuZG8nLCBmYWxzZSlcclxuICAgIHdhc0Rvd25sb2FkaW5nPXRydWU7XHJcbiAgICB2YXIgbGF5b3V0ID0gYXdhaXQgYXdhaXRGb3JDYWNoZUxheW91dDtcclxuICAgIGxheW91dC5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgaHRtbC5wKHtpZDonY2FjaGUtc3RhdHVzJywgY2xhc3M6J3dhcm5pbmcnfSxbXHJcbiAgICAgICAgICAgICdkZXNjYXJnYW5kbyBhcGxpY2FjacOzbiwgcG9yIGZhdm9yIG5vIGRlc2NvbmVjdGUgZWwgZGlzcG9zaXRpdm8nLFxyXG4gICAgICAgICAgICBodG1sLmltZyh7c3JjOidpbWcvbG9hZGluZzE2LmdpZid9KS5jcmVhdGUoKVxyXG4gICAgICAgIF0pLmNyZWF0ZSgpLCBcclxuICAgICAgICBsYXlvdXQuZmlyc3RDaGlsZFxyXG4gICAgKTtcclxufSwgZmFsc2UpO1xyXG5cclxuYXBwQ2FjaGUuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBhc3luYyBmdW5jdGlvbihlOkV2ZW50KSB7XHJcbiAgICAvLyBAdHMtaWdub3JlIGVzIEVycm9yRXZlbnQgcG9ycXVlIGVsIGV2ZW50byBlcyAnZXJyb3InXHJcbiAgICB2YXIgZXJyb3JFdmVudDpFcnJvckV2ZW50ID0gZTtcclxuICAgIGlmKHdhc0Rvd25sb2FkaW5nKXtcclxuICAgICAgICBjb25zb2xlLmxvZygnZXJyb3IgYWwgZGVzY2FyZ2FyIGNhY2hlJywgZXJyb3JFdmVudC5tZXNzYWdlKVxyXG4gICAgICAgIHZhciBsYXlvdXQgPSBhd2FpdCBhd2FpdEZvckNhY2hlTGF5b3V0O1xyXG4gICAgICAgIHZhciBjYWNoZVN0YXR1c0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtc3RhdHVzJyk7XHJcbiAgICAgICAgaWYoIWNhY2hlU3RhdHVzRWxlbWVudCl7XHJcbiAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudCA9IGh0bWwucCh7aWQ6J2NhY2hlLXN0YXR1cyd9KS5jcmVhdGUoKTtcclxuICAgICAgICAgICAgbGF5b3V0Lmluc2VydEJlZm9yZShjYWNoZVN0YXR1c0VsZW1lbnQsIGxheW91dC5maXJzdENoaWxkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3dhcm5pbmcnKVxyXG4gICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdkYW5nZXInKVxyXG4gICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC50ZXh0Q29udGVudD0nZXJyb3IgYWwgZGVzY2FyZ2FyIGxhIGFwbGljYWNpw7NuLiAnICsgZXJyb3JFdmVudC5tZXNzYWdlO1xyXG4gICAgfVxyXG59LCBmYWxzZSk7XHJcblxyXG5hc3luYyBmdW5jdGlvbiBjYWNoZVJlYWR5KCl7XHJcbiAgICB3YXNEb3dubG9hZGluZz1mYWxzZTtcclxuICAgIHZhciByZXN1bHQ6c3RyaW5nID0gYXdhaXQgQWpheEJlc3RQcm9taXNlLmdldCh7XHJcbiAgICAgICAgdXJsOidjYXJnYS1kbS9kbS1tYW5pZmVzdC5tYW5pZmVzdCcsXHJcbiAgICAgICAgZGF0YTp7fVxyXG4gICAgfSk7XHJcbiAgICBteU93bi5zZXRMb2NhbFZhcignYXBwLWNhY2hlLXZlcnNpb24nLHJlc3VsdC5zcGxpdCgnXFxuJylbMV0pO1xyXG4gICAgbW9zdHJhckVsZW1lbnRvSWQoJ2RtLWNvbXByb2JhbmRvJywgZmFsc2UpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0taW5zdGFsYW5kb3NlJywgZmFsc2UpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0tY2FyZ2FuZG8nLCB0cnVlKVxyXG4gICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgIHZhciBjYWNoZVN0YXR1c0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtc3RhdHVzJykhO1xyXG4gICAgICAgIGlmKCFjYWNoZVN0YXR1c0VsZW1lbnQpe1xyXG4gICAgICAgICAgICB2YXIgbWFpbkxheW91dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluX2xheW91dCcpITtcclxuICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50ID0gaHRtbC5wKHtpZDonY2FjaGUtc3RhdHVzJ30pLmNyZWF0ZSgpO1xyXG4gICAgICAgICAgICBtYWluTGF5b3V0Lmluc2VydEJlZm9yZShjYWNoZVN0YXR1c0VsZW1lbnQsIG1haW5MYXlvdXQuZmlyc3RDaGlsZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2FsbC1vaycpXHJcbiAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC50ZXh0Q29udGVudD0nYXBsaWNhY2nDs24gYWN0dWFsaXphZGEsIGVzcGVyZSBhIGNhcmdhciBlbCBmb3JtdWxhcmlvJztcclxuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LnN0eWxlLmRpc3BsYXk9J25vbmUnO1xyXG4gICAgICAgICAgICB9LCA1MDAwKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICAgIH0sMjAwMClcclxuICAgICAgICB9LCA1MDAwKTtcclxuICAgIH0sNTAwKVxyXG59XHJcbmFwcENhY2hlLmFkZEV2ZW50TGlzdGVuZXIoJ3VwZGF0ZXJlYWR5JywgZnVuY3Rpb24gKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJhY3R1YWxpemEgY2FjaGVcIik7XHJcbiAgICBpZiAoYXBwQ2FjaGUuc3RhdHVzID09IGFwcENhY2hlLlVQREFURVJFQURZKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJzd2FwIGNhY2hlXCIpO1xyXG4gICAgICAgIGFwcENhY2hlLnN3YXBDYWNoZSgpXHJcbiAgICB9XHJcbiAgICBjYWNoZVJlYWR5KClcclxufSwgZmFsc2UpO1xyXG5hcHBDYWNoZS5hZGRFdmVudExpc3RlbmVyKCdjYWNoZWQnLCBmdW5jdGlvbigpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiY2FjaGVhIHByaW1lcmEgdmV6XCIpO1xyXG4gICAgY2FjaGVSZWFkeSgpXHJcbn0sIGZhbHNlICk7XHJcblxyXG52YXIgYXdhaXRGb3JDYWNoZUxheW91dCA9IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVMYXlvdXRGb3JDYWNoZSgpe1xyXG4gICAgYXdhaXQgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgX3JlamVjdCl7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLHJlc29sdmUpO1xyXG4gICAgfSk7XHJcbiAgICB2YXIgbGF5b3V0PShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtbGF5b3V0Jyl8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcclxuICAgIGlmKCFsYXlvdXQuaWQpe1xyXG4gICAgICAgIGxheW91dC5pZD0nY2FjaGUtbGF5b3V0JztcclxuICAgICAgICBsYXlvdXQuYXBwZW5kQ2hpbGQoaHRtbC5kaXYoe2lkOidhcHAtdmVyc2lvbnMnfSkuY3JlYXRlKCkpO1xyXG4gICAgICAgIGxheW91dC5hcHBlbmRDaGlsZChodG1sLmRpdih7aWQ6J2FwcC1zdGF0dXMnfSkuY3JlYXRlKCkpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGF5b3V0LmFwcGVuZENoaWxkKGh0bWwuZGl2KHtpZDonY2FjaGUtbG9nJ30pLmNyZWF0ZSgpKSk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUobGF5b3V0LGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZClcclxuICAgIH1cclxuICAgIHJldHVybiBsYXlvdXQ7XHJcbn0oKTtcclxuXHJcbi8vQHRzLWlnbm9yZSBubyBzZSB1c2EgcXVpesOhcyBoYXlhIHF1ZSBxdWl0YXJsby4gQXBhcmVudGVtZW50ZSBzZSBjb3Bpw7MgZGUgaG9qYS1kZS1ydXRhLmpzXHJcbmFzeW5jIGZ1bmN0aW9uIGRpc3BsYXlXaGVuUmVhZHkobWVzc2FnZTpzdHJpbmcsIHR5cGU6c3RyaW5nLCBtZXNzYWdlMjpzdHJpbmcsIF9lbk90cm9SZW5nbG9uOnN0cmluZyl7XHJcbiAgICAvLyB2YXIgbGF5b3V0ID0gYXdhaXQgYXdhaXRGb3JDYWNoZUxheW91dDtcclxuICAgIHZhciBsb2dMYXlvdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtbG9nJykhO1xyXG4gICAgdmFyIHRleHRvID0gbG9nTGF5b3V0LmZpcnN0RWxlbWVudENoaWxkO1xyXG4gICAgdGV4dG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBsb2dMYXlvdXQuYXBwZW5kQ2hpbGQodGV4dG8pO1xyXG4gICAgdGV4dG8uY2xhc3NOYW1lPSdsb2dfbWFuaWZlc3QnO1xyXG4gICAgdGV4dG8udGV4dENvbnRlbnQ9bWVzc2FnZTtcclxuICAgIGlmKHR5cGUhPSdwcm9ncmVzcycpe1xyXG4gICAgICAgIHZhciB0ZXh0bzI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgIHRleHRvMi5jbGFzc05hbWU9J21lbnNhamVfYWxlcnRhJztcclxuICAgICAgICB0ZXh0bzIudGV4dENvbnRlbnQ9JyAnK21lc3NhZ2UyO1xyXG4gICAgICAgIHRleHRvLmFwcGVuZENoaWxkKHRleHRvMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5sb2dnZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdW5sb2dnZWQvdW5sb2dnZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOztJQUNiLDJDQUFpQztJQUNqQyxxREFBcUQ7SUFFckQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLO1FBQ2pDLG9CQUFvQixFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLGNBQWMsR0FBQyxLQUFLLENBQUM7SUFDekIsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0lBQ3ZDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsS0FBSztRQUMxQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUMxQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUMxQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDdkMsY0FBYyxHQUFDLElBQUksQ0FBQztRQUNwQixJQUFJLE1BQU0sR0FBRyxNQUFNLG1CQUFtQixDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxZQUFZLENBQ2YsaUJBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsY0FBYyxFQUFFLEtBQUssRUFBQyxTQUFTLEVBQUMsRUFBQztZQUN4QyxnRUFBZ0U7WUFDaEUsaUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxHQUFHLEVBQUMsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtTQUMvQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQ1gsTUFBTSxDQUFDLFVBQVUsQ0FDcEIsQ0FBQztJQUNOLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVWLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxXQUFVLENBQU87UUFDckQsdURB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RUFBQyxFQUFFLEVBQUMsV0FBVyxFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkYsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDL0QsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUMsRUFBRSxDQUFDO0lBRUosMEZBQTBGO0lBQzFGLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxPQUFjLEVBQUUsSUFBVyxFQUFFLFFBQWUsRUFBRSxjQUFxQjtRQUMvRiwwQ0FBMEM7UUFDMUMsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUUsQ0FBQztRQUN0RCxJQUFJLEtBQUssR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUM7UUFDeEMsS0FBSyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixLQUFLLENBQUMsU0FBUyxHQUFDLGNBQWMsQ0FBQztRQUMvQixLQUFLLENBQUMsV0FBVyxHQUFDLE9BQU8sQ0FBQztRQUMxQixJQUFHLElBQUksSUFBRSxVQUFVLEVBQUMsQ0FBQztZQUNqQixJQUFJLE1BQU0sR0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxTQUFTLEdBQUMsZ0JBQWdCLENBQUM7WUFDbEMsTUFBTSxDQUFDLFdBQVcsR0FBQyxHQUFHLEdBQUMsUUFBUSxDQUFDO1lBQ2hDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuaW1wb3J0IHtodG1sfSAgZnJvbSAnanMtdG8taHRtbCc7XHJcbmltcG9ydCAqIGFzIEFqYXhCZXN0UHJvbWlzZSBmcm9tIFwiYWpheC1iZXN0LXByb21pc2VcIjtcclxuXHJcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMgZnVuY3Rpb24oKXtcclxuICAgIGRlc3BsZWdhclByZXN1cHVlc3RvKCk7XHJcbn0pO1xyXG5cclxudmFyIHdhc0Rvd25sb2FkaW5nPWZhbHNlO1xyXG52YXIgYXBwQ2FjaGUgPSB3aW5kb3cuYXBwbGljYXRpb25DYWNoZTtcclxuYXBwQ2FjaGUuYWRkRXZlbnRMaXN0ZW5lcignZG93bmxvYWRpbmcnLCBhc3luYyBmdW5jdGlvbigpIHtcclxuICAgIG1vc3RyYXJFbGVtZW50b0lkKCdkbS1jb21wcm9iYW5kbycsIGZhbHNlKVxyXG4gICAgbW9zdHJhckVsZW1lbnRvSWQoJ2RtLWluc3RhbGFuZG9zZScsIHRydWUpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0tY2FyZ2FuZG8nLCBmYWxzZSlcclxuICAgIHdhc0Rvd25sb2FkaW5nPXRydWU7XHJcbiAgICB2YXIgbGF5b3V0ID0gYXdhaXQgYXdhaXRGb3JDYWNoZUxheW91dDtcclxuICAgIGxheW91dC5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgaHRtbC5wKHtpZDonY2FjaGUtc3RhdHVzJywgY2xhc3M6J3dhcm5pbmcnfSxbXHJcbiAgICAgICAgICAgICdkZXNjYXJnYW5kbyBhcGxpY2FjacOzbiwgcG9yIGZhdm9yIG5vIGRlc2NvbmVjdGUgZWwgZGlzcG9zaXRpdm8nLFxyXG4gICAgICAgICAgICBodG1sLmltZyh7c3JjOidpbWcvbG9hZGluZzE2LmdpZid9KS5jcmVhdGUoKVxyXG4gICAgICAgIF0pLmNyZWF0ZSgpLCBcclxuICAgICAgICBsYXlvdXQuZmlyc3RDaGlsZFxyXG4gICAgKTtcclxufSwgZmFsc2UpO1xyXG5cclxuYXBwQ2FjaGUuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBhc3luYyBmdW5jdGlvbihlOkV2ZW50KSB7XHJcbiAgICAvLyBAdHMtaWdub3JlIGVzIEVycm9yRXZlbnQgcG9ycXVlIGVsIGV2ZW50byBlcyAnZXJyb3InXHJcbiAgICB2YXIgZXJyb3JFdmVudDpFcnJvckV2ZW50ID0gZTtcclxuICAgIGlmKHdhc0Rvd25sb2FkaW5nKXtcclxuICAgICAgICBjb25zb2xlLmxvZygnZXJyb3IgYWwgZGVzY2FyZ2FyIGNhY2hlJywgZXJyb3JFdmVudC5tZXNzYWdlKVxyXG4gICAgICAgIHZhciBsYXlvdXQgPSBhd2FpdCBhd2FpdEZvckNhY2hlTGF5b3V0O1xyXG4gICAgICAgIHZhciBjYWNoZVN0YXR1c0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtc3RhdHVzJyk7XHJcbiAgICAgICAgaWYoIWNhY2hlU3RhdHVzRWxlbWVudCl7XHJcbiAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudCA9IGh0bWwucCh7aWQ6J2NhY2hlLXN0YXR1cyd9KS5jcmVhdGUoKTtcclxuICAgICAgICAgICAgbGF5b3V0Lmluc2VydEJlZm9yZShjYWNoZVN0YXR1c0VsZW1lbnQsIGxheW91dC5maXJzdENoaWxkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3dhcm5pbmcnKVxyXG4gICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdkYW5nZXInKVxyXG4gICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC50ZXh0Q29udGVudD0nZXJyb3IgYWwgZGVzY2FyZ2FyIGxhIGFwbGljYWNpw7NuLiAnICsgZXJyb3JFdmVudC5tZXNzYWdlO1xyXG4gICAgfVxyXG59LCBmYWxzZSk7XHJcblxyXG5hc3luYyBmdW5jdGlvbiBjYWNoZVJlYWR5KCl7XHJcbiAgICB3YXNEb3dubG9hZGluZz1mYWxzZTtcclxuICAgIHZhciByZXN1bHQ6c3RyaW5nID0gYXdhaXQgQWpheEJlc3RQcm9taXNlLmdldCh7XHJcbiAgICAgICAgdXJsOidjYXJnYS1kbS9kbS1tYW5pZmVzdC5tYW5pZmVzdCcsXHJcbiAgICAgICAgZGF0YTp7fVxyXG4gICAgfSk7XHJcbiAgICBteU93bi5zZXRMb2NhbFZhcignYXBwLWNhY2hlLXZlcnNpb24nLHJlc3VsdC5zcGxpdCgnXFxuJylbMV0pO1xyXG4gICAgbW9zdHJhckVsZW1lbnRvSWQoJ2RtLWNvbXByb2JhbmRvJywgZmFsc2UpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0taW5zdGFsYW5kb3NlJywgZmFsc2UpXHJcbiAgICBtb3N0cmFyRWxlbWVudG9JZCgnZG0tY2FyZ2FuZG8nLCB0cnVlKVxyXG4gICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgIHZhciBjYWNoZVN0YXR1c0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtc3RhdHVzJykhO1xyXG4gICAgICAgIGlmKCFjYWNoZVN0YXR1c0VsZW1lbnQpe1xyXG4gICAgICAgICAgICB2YXIgbWFpbkxheW91dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluX2xheW91dCcpITtcclxuICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50ID0gaHRtbC5wKHtpZDonY2FjaGUtc3RhdHVzJ30pLmNyZWF0ZSgpO1xyXG4gICAgICAgICAgICBtYWluTGF5b3V0Lmluc2VydEJlZm9yZShjYWNoZVN0YXR1c0VsZW1lbnQsIG1haW5MYXlvdXQuZmlyc3RDaGlsZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2FsbC1vaycpXHJcbiAgICAgICAgICAgIGNhY2hlU3RhdHVzRWxlbWVudC50ZXh0Q29udGVudD0nYXBsaWNhY2nDs24gYWN0dWFsaXphZGEsIGVzcGVyZSBhIGNhcmdhciBlbCBmb3JtdWxhcmlvJztcclxuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgY2FjaGVTdGF0dXNFbGVtZW50LnN0eWxlLmRpc3BsYXk9J25vbmUnO1xyXG4gICAgICAgICAgICB9LCA1MDAwKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICAgIH0sMjAwMClcclxuICAgICAgICB9LCA1MDAwKTtcclxuICAgIH0sNTAwKVxyXG59XHJcbmFwcENhY2hlLmFkZEV2ZW50TGlzdGVuZXIoJ3VwZGF0ZXJlYWR5JywgZnVuY3Rpb24gKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJhY3R1YWxpemEgY2FjaGVcIik7XHJcbiAgICBpZiAoYXBwQ2FjaGUuc3RhdHVzID09IGFwcENhY2hlLlVQREFURVJFQURZKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJzd2FwIGNhY2hlXCIpO1xyXG4gICAgICAgIGFwcENhY2hlLnN3YXBDYWNoZSgpXHJcbiAgICB9XHJcbiAgICBjYWNoZVJlYWR5KClcclxufSwgZmFsc2UpO1xyXG5hcHBDYWNoZS5hZGRFdmVudExpc3RlbmVyKCdjYWNoZWQnLCBmdW5jdGlvbigpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiY2FjaGVhIHByaW1lcmEgdmV6XCIpO1xyXG4gICAgY2FjaGVSZWFkeSgpXHJcbn0sIGZhbHNlICk7XHJcblxyXG52YXIgYXdhaXRGb3JDYWNoZUxheW91dCA9IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVMYXlvdXRGb3JDYWNoZSgpe1xyXG4gICAgYXdhaXQgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgX3JlamVjdCl7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLHJlc29sdmUpO1xyXG4gICAgfSk7XHJcbiAgICB2YXIgbGF5b3V0PShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtbGF5b3V0Jyl8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcclxuICAgIGlmKCFsYXlvdXQuaWQpe1xyXG4gICAgICAgIGxheW91dC5pZD0nY2FjaGUtbGF5b3V0JztcclxuICAgICAgICBsYXlvdXQuYXBwZW5kQ2hpbGQoaHRtbC5kaXYoe2lkOidhcHAtdmVyc2lvbnMnfSkuY3JlYXRlKCkpO1xyXG4gICAgICAgIGxheW91dC5hcHBlbmRDaGlsZChodG1sLmRpdih7aWQ6J2FwcC1zdGF0dXMnfSkuY3JlYXRlKCkpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGF5b3V0LmFwcGVuZENoaWxkKGh0bWwuZGl2KHtpZDonY2FjaGUtbG9nJ30pLmNyZWF0ZSgpKSk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUobGF5b3V0LGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZClcclxuICAgIH1cclxuICAgIHJldHVybiBsYXlvdXQ7XHJcbn0oKTtcclxuXHJcbi8vQHRzLWlnbm9yZSBubyBzZSB1c2EgcXVpesOhcyBoYXlhIHF1ZSBxdWl0YXJsby4gQXBhcmVudGVtZW50ZSBzZSBjb3Bpw7MgZGUgaG9qYS1kZS1ydXRhLmpzXHJcbmFzeW5jIGZ1bmN0aW9uIGRpc3BsYXlXaGVuUmVhZHkobWVzc2FnZTpzdHJpbmcsIHR5cGU6c3RyaW5nLCBtZXNzYWdlMjpzdHJpbmcsIF9lbk90cm9SZW5nbG9uOnN0cmluZyl7XHJcbiAgICAvLyB2YXIgbGF5b3V0ID0gYXdhaXQgYXdhaXRGb3JDYWNoZUxheW91dDtcclxuICAgIHZhciBsb2dMYXlvdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FjaGUtbG9nJykhO1xyXG4gICAgdmFyIHRleHRvID0gbG9nTGF5b3V0LmZpcnN0RWxlbWVudENoaWxkO1xyXG4gICAgdGV4dG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBsb2dMYXlvdXQuYXBwZW5kQ2hpbGQodGV4dG8pO1xyXG4gICAgdGV4dG8uY2xhc3NOYW1lPSdsb2dfbWFuaWZlc3QnO1xyXG4gICAgdGV4dG8udGV4dENvbnRlbnQ9bWVzc2FnZTtcclxuICAgIGlmKHR5cGUhPSdwcm9ncmVzcycpe1xyXG4gICAgICAgIHZhciB0ZXh0bzI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgIHRleHRvMi5jbGFzc05hbWU9J21lbnNhamVfYWxlcnRhJztcclxuICAgICAgICB0ZXh0bzIudGV4dENvbnRlbnQ9JyAnK21lc3NhZ2UyO1xyXG4gICAgICAgIHRleHRvLmFwcGVuZENoaWxkKHRleHRvMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "contable",
3
3
  "description": "Sistema contable",
4
- "version": "0.0.1",
4
+ "version": "0.0.2",
5
5
  "author": "Manuel De la Penna <manueldelapenna@gmail.com>",
6
6
  "license": "MIT",
7
7
  "main": "dist/server/server-contable.js",