jspurefix 5.1.0 → 5.3.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/BACKPORT_PLAN.md +138 -79
- package/dist/buffer/fixml/fixml-view.js.map +1 -1
- package/dist/buffer/msg-encoder.js +34 -1
- package/dist/buffer/msg-encoder.js.map +1 -1
- package/dist/buffer/msg-parser.js +34 -1
- package/dist/buffer/msg-parser.js.map +1 -1
- package/dist/buffer/msg-view.js.map +1 -1
- package/dist/collections/index.js +1 -0
- package/dist/config/js-fix-config.d.ts +2 -0
- package/dist/config/js-fix-config.js.map +1 -1
- package/dist/config/winston-logger.js.map +1 -1
- package/dist/dict-parser.js +34 -1
- package/dist/dict-parser.js.map +1 -1
- package/dist/dictionary/compiler/enum-compiler.js +37 -4
- package/dist/dictionary/compiler/enum-compiler.js.map +1 -1
- package/dist/dictionary/compiler/msg-compiler.js +36 -3
- package/dist/dictionary/compiler/msg-compiler.js.map +1 -1
- package/dist/dictionary/compiler/standard-snippet.js +34 -1
- package/dist/dictionary/compiler/standard-snippet.js.map +1 -1
- package/dist/dictionary/contained/contained-field-set.js +2 -0
- package/dist/dictionary/contained/contained-field-set.js.map +1 -1
- package/dist/dictionary/definition/simple-field-definition.js +34 -1
- package/dist/dictionary/definition/simple-field-definition.js.map +1 -1
- package/dist/dictionary/fix-parser.js +34 -1
- package/dist/dictionary/fix-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/repository-type.js +1 -0
- package/dist/dictionary/parser/fix-repository/repository-xml-parser.js +35 -2
- package/dist/dictionary/parser/fix-repository/repository-xml-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/fields-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/fix-xsd-parser.js +34 -1
- package/dist/dictionary/parser/fixml/fix-xsd-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/include-graph.js +35 -2
- package/dist/dictionary/parser/fixml/include-graph.js.map +1 -1
- package/dist/dictionary/parser/fixml/node-definitions.js +1 -0
- package/dist/dictionary/parser/fixml/xsd-parser.js +34 -1
- package/dist/dictionary/parser/fixml/xsd-parser.js.map +1 -1
- package/dist/jsfix-cmd.js +39 -3
- package/dist/jsfix-cmd.js.map +1 -1
- package/dist/runtime/session-launcher.js +34 -1
- package/dist/runtime/session-launcher.js.map +1 -1
- package/dist/sample/http/oms/app.js +34 -1
- package/dist/sample/http/oms/app.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/app.js +34 -1
- package/dist/sample/tcp/recovering-skeleton/app.js.map +1 -1
- package/dist/store/file-session-store.d.ts +42 -0
- package/dist/store/file-session-store.js +256 -0
- package/dist/store/file-session-store.js.map +1 -0
- package/dist/store/file-session-stream-provider.d.ts +25 -0
- package/dist/store/file-session-stream-provider.js +162 -0
- package/dist/store/file-session-stream-provider.js.map +1 -0
- package/dist/store/fix-msg-ascii-store-resend.js +1 -1
- package/dist/store/fix-msg-ascii-store-resend.js.map +1 -1
- package/dist/store/fix-session-store-factory.d.ts +13 -0
- package/dist/store/fix-session-store-factory.js +21 -0
- package/dist/store/fix-session-store-factory.js.map +1 -0
- package/dist/store/fix-session-store.d.ts +19 -0
- package/dist/store/fix-session-store.js +3 -0
- package/dist/store/fix-session-store.js.map +1 -0
- package/dist/store/index.d.ts +9 -0
- package/dist/store/index.js +9 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/memory-session-store.d.ts +27 -0
- package/dist/store/memory-session-store.js +104 -0
- package/dist/store/memory-session-store.js.map +1 -0
- package/dist/store/memory-session-stream-provider.d.ts +26 -0
- package/dist/store/memory-session-stream-provider.js +103 -0
- package/dist/store/memory-session-stream-provider.js.map +1 -0
- package/dist/store/session-id.d.ts +9 -0
- package/dist/store/session-id.js +55 -0
- package/dist/store/session-id.js.map +1 -0
- package/dist/store/session-stream-provider.d.ts +15 -0
- package/dist/store/session-stream-provider.js +3 -0
- package/dist/store/session-stream-provider.js.map +1 -0
- package/dist/store/store-config.d.ts +4 -0
- package/dist/store/store-config.js +3 -0
- package/dist/store/store-config.js.map +1 -0
- package/dist/transport/ascii/ascii-session.d.ts +12 -1
- package/dist/transport/ascii/ascii-session.js +154 -5
- package/dist/transport/ascii/ascii-session.js.map +1 -1
- package/dist/transport/duplex/http-duplex.js +4 -1
- package/dist/transport/duplex/http-duplex.js.map +1 -1
- package/dist/transport/duplex/tcp-duplex.js +34 -1
- package/dist/transport/duplex/tcp-duplex.js.map +1 -1
- package/dist/transport/fix-acceptor.js +34 -1
- package/dist/transport/fix-acceptor.js.map +1 -1
- package/dist/transport/fix-entity.js +34 -1
- package/dist/transport/fix-entity.js.map +1 -1
- package/dist/transport/fixml/fixml-msg-transmitter.js +1 -1
- package/dist/transport/fixml/fixml-msg-transmitter.js.map +1 -1
- package/dist/transport/http/http-acceptor.js +34 -1
- package/dist/transport/http/http-acceptor.js.map +1 -1
- package/dist/transport/msg-transmitter.js +34 -1
- package/dist/transport/msg-transmitter.js.map +1 -1
- package/dist/transport/session/a-session-msg-factory.d.ts +1 -1
- package/dist/transport/session/a-session-msg-factory.js.map +1 -1
- package/dist/transport/session/fix-clock.d.ts +6 -0
- package/dist/transport/session/fix-clock.js +10 -0
- package/dist/transport/session/fix-clock.js.map +1 -0
- package/dist/transport/session/fix-session.d.ts +1 -0
- package/dist/transport/session/fix-session.js +37 -1
- package/dist/transport/session/fix-session.js.map +1 -1
- package/dist/transport/session/index.d.ts +4 -0
- package/dist/transport/session/index.js +4 -0
- package/dist/transport/session/index.js.map +1 -1
- package/dist/transport/session/resend-request-manager.d.ts +69 -0
- package/dist/transport/session/resend-request-manager.js +208 -0
- package/dist/transport/session/resend-request-manager.js.map +1 -0
- package/dist/transport/session/session-description.d.ts +2 -0
- package/dist/transport/session/session-description.js.map +1 -1
- package/dist/transport/session/session-msg-factory.d.ts +1 -1
- package/dist/transport/session/session-msg-factory.js.map +1 -1
- package/dist/transport/session/session-sequence-coordinator.d.ts +38 -0
- package/dist/transport/session/session-sequence-coordinator.js +180 -0
- package/dist/transport/session/session-sequence-coordinator.js.map +1 -0
- package/dist/transport/session/session-sequence-store.d.ts +14 -0
- package/dist/transport/session/session-sequence-store.js +36 -0
- package/dist/transport/session/session-sequence-store.js.map +1 -0
- package/dist/transport/tcp/tcp-acceptor.js.map +1 -1
- package/dist/transport/tcp/tcp-initiator.js +34 -1
- package/dist/transport/tcp/tcp-initiator.js.map +1 -1
- package/dist/types/FIX4.4/index.js +1 -0
- package/dist/util/buffer-helper.js +34 -1
- package/dist/util/buffer-helper.js.map +1 -1
- package/dist/util/definition-factory.js +35 -2
- package/dist/util/definition-factory.js.map +1 -1
- package/jsfix.test_client.txt +67 -66
- package/jsfix.test_server.txt +64 -63
- package/package.json +11 -10
- package/src/buffer/fixml/fixml-view.ts +1 -1
- package/src/buffer/msg-view.ts +1 -1
- package/src/config/js-fix-config.ts +2 -0
- package/src/config/winston-logger.ts +3 -3
- package/src/dictionary/contained/contained-field-set.ts +2 -1
- package/src/dictionary/parser/fixml/fields-parser.ts +2 -2
- package/src/jsfix-cmd.ts +1 -1
- package/src/store/file-session-store.ts +294 -0
- package/src/store/file-session-stream-provider.ts +123 -0
- package/src/store/fix-msg-ascii-store-resend.ts +1 -1
- package/src/store/fix-session-store-factory.ts +31 -0
- package/src/store/fix-session-store.ts +37 -0
- package/src/store/index.ts +9 -0
- package/src/store/memory-session-store.ts +102 -0
- package/src/store/memory-session-stream-provider.ts +97 -0
- package/src/store/session-id.ts +32 -0
- package/src/store/session-stream-provider.ts +74 -0
- package/src/store/store-config.ts +15 -0
- package/src/transport/ascii/ascii-session.ts +218 -6
- package/src/transport/fixml/fixml-msg-transmitter.ts +1 -1
- package/src/transport/http/http-acceptor.ts +1 -1
- package/src/transport/session/a-session-msg-factory.ts +1 -1
- package/src/transport/session/fix-clock.ts +9 -0
- package/src/transport/session/fix-session.ts +5 -0
- package/src/transport/session/index.ts +4 -0
- package/src/transport/session/resend-request-manager.ts +268 -0
- package/src/transport/session/session-description.ts +2 -0
- package/src/transport/session/session-msg-factory.ts +1 -1
- package/src/transport/session/session-sequence-coordinator.ts +272 -0
- package/src/transport/session/session-sequence-store.ts +33 -0
- package/src/transport/tcp/tcp-acceptor.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-field-definition.js","sourceRoot":"","sources":["../../../src/dictionary/definition/simple-field-definition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"simple-field-definition.js","sourceRoot":"","sources":["../../../src/dictionary/definition/simple-field-definition.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAyC;AACzC,gDAA4C;AAC5C,gEAA2D;AAC3D,0CAA2B;AAG3B,MAAa,qBAAqB;IAMhC,YAA6B,GAAW,EACtB,IAAY,EACZ,YAAoB,EACpB,YAA2B,EAC3B,wBAAuC,EACvC,IAAY,EACZ,WAA0B;QANf,QAAG,GAAH,GAAG,CAAQ;QACtB,SAAI,GAAJ,IAAI,CAAQ;QACZ,iBAAY,GAAZ,YAAY,CAAQ;QACpB,iBAAY,GAAZ,YAAY,CAAe;QAC3B,6BAAwB,GAAxB,wBAAwB,CAAe;QACvC,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAe;QAC1C,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,WAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAA;IAC3B,CAAC;IAEM,YAAY,CAAE,GAAW;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAEM,WAAW,CAAE,GAAW;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,MAAM,CAAC,GAA0B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/C,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,CAAC,GAAG,CAAA;QACd,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAEM,cAAc,CAAE,CAAS;QAC9B,IAAI,SAAS,GAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACzC,MAAM,IAAI,GAAW,wBAAU,CAAC,IAAI,CAAA;QACpC,MAAM,IAAI,GAAW,wBAAU,CAAC,IAAI,CAAA;QACpC,MAAM,OAAO,GAAY,SAAS,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAA;QAC/D,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,GAAG,IAAI,SAAS,EAAE,CAAA;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,SAAS,GAAG,GAAG,SAAS,GAAG,CAAA;QAC7B,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEM,OAAO,CAAE,GAAW,EAAE,GAAW,EAAE,WAAoB;QAC5D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACtB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC5B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAA;YACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;QACvD,CAAC;QACD,IAAI,CAAC,WAAW;YAAE,WAAW,GAAG,GAAG,CAAA;QACnC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,sBAAS,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,CAAC,CAAA;QAC1D,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACzB,CAAC;IAEM,QAAQ;;QACb,IAAI,YAAY,GAAW,EAAE,CAAA;QAC7B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACzD,YAAY,GAAG,IAAI,IAAI,CAAC,YAAY,GAAG,CAAA;QACzC,CAAC;QACD,IAAI,wBAAwB,GAAW,EAAE,CAAA;QACzC,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,wBAAwB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACjF,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAA;QAC1D,CAAC;QACD,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7D,wBAAwB,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,wBAAwB,EAAE,CAAA;QAC/E,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,YAAY,IAAI,wBAAwB,IAAI,IAAI,CAAC,IAAI,IAAI,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACvL,CAAC;CACF;AAnFD,sDAmFC","sourcesContent":["import { FieldEnum } from '../field-enum'\nimport { Tags } from '../../buffer/tag/tags'\nimport { AsciiChars } from '../../buffer/ascii/ascii-chars'\nimport * as _ from 'lodash'\nimport { TagType } from '../../buffer/tag/tag-type'\n\nexport class SimpleFieldDefinition {\n public readonly tag: number\n public readonly tagType: TagType\n public enums: Map<string, FieldEnum>\n public enumVals: Map<string, boolean>\n\n constructor (public readonly num: string,\n public readonly name: string,\n public readonly abbreviation: string,\n public readonly baseCategory: string | null,\n public readonly baseCategoryAbbreviation: string | null,\n public readonly type: string,\n public readonly description: string | null) {\n this.tag = parseInt(num, 10)\n this.tagType = Tags.toType(type)\n }\n\n public isEnum (): boolean {\n return this.enums != null\n }\n\n public containsEnum (key: string): boolean {\n const enums = this.enums\n if (!enums) {\n return false\n }\n return enums.has(key)\n }\n\n public resolveEnum (key: string): string {\n const enums = this.enums\n if (!enums) {\n return key\n }\n const e: FieldEnum | undefined = enums.get(key)\n if (e) {\n return e.val\n }\n return key\n }\n\n public patchEnumValue (v: string): string {\n let converted: string = _.upperFirst(_.camelCase(v))\n const charAtPos = converted.charCodeAt(0)\n const zero: number = AsciiChars.Zero\n const nine: number = AsciiChars.Nine\n const atDigit: boolean = charAtPos >= zero && charAtPos <= nine\n if (atDigit) {\n converted = `E${converted}`\n }\n if (this.enumVals.has(converted)) {\n converted = `${converted}2`\n }\n return converted\n }\n\n public addEnum (key: string, val: string, description?: string): void {\n let enums = this.enums\n let enumVals = this.enumVals\n if (enums == null) {\n this.enums = enums = new Map<string, FieldEnum>()\n this.enumVals = enumVals = new Map<string, boolean>()\n }\n if (!description) description = val\n val = this.patchEnumValue(val)\n enums.set(key, new FieldEnum(key, val, description ?? ''))\n enumVals.set(val, true)\n }\n\n public toString (): string {\n let abbreviation: string = ''\n if (this.abbreviation && this.name !== this.abbreviation) {\n abbreviation = `(${this.abbreviation})`\n }\n let baseCategoryAbbreviation: string = ''\n if (this.baseCategoryAbbreviation && this.baseCategoryAbbreviation !== this.name) {\n baseCategoryAbbreviation = this.baseCategoryAbbreviation\n }\n if (baseCategoryAbbreviation.length > 0 && this.baseCategory) {\n baseCategoryAbbreviation = `${this.baseCategory} ${baseCategoryAbbreviation}`\n }\n return `${this.num} ${this.name} ${abbreviation} ${baseCategoryAbbreviation} ${this.type} ${this.description ?? ''} ${this.enums ? `enumerated = [ ${this.enums.toString()} ]` : ''}`\n }\n}\n"]}
|
|
@@ -1,7 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.FixParser = void 0;
|
|
4
|
-
const events = require("events");
|
|
37
|
+
const events = __importStar(require("events"));
|
|
5
38
|
class FixParser extends events.EventEmitter {
|
|
6
39
|
}
|
|
7
40
|
exports.FixParser = FixParser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-parser.js","sourceRoot":"","sources":["../../src/dictionary/fix-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fix-parser.js","sourceRoot":"","sources":["../../src/dictionary/fix-parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAgC;AAEhC,MAAsB,SAAU,SAAQ,MAAM,CAAC,YAAY;CAE1D;AAFD,8BAEC","sourcesContent":["import { FixDefinitions } from './definition'\nimport * as events from 'events'\n\nexport abstract class FixParser extends events.EventEmitter {\n public abstract parse (): Promise<FixDefinitions>\n}\n"]}
|
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -10,8 +43,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
43
|
};
|
|
11
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
45
|
exports.RepositoryXmlParser = void 0;
|
|
13
|
-
const fs = require("fs");
|
|
14
|
-
const path = require("path");
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
15
48
|
const util_1 = require("util");
|
|
16
49
|
const abbreviations_parser_1 = require("./abbreviations-parser");
|
|
17
50
|
const components_parser_1 = require("./components-parser");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-xml-parser.js","sourceRoot":"","sources":["../../../../src/dictionary/parser/fix-repository/repository-xml-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repository-xml-parser.js","sourceRoot":"","sources":["../../../../src/dictionary/parser/fix-repository/repository-xml-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from 'fs'\nimport * as path from 'path'\nimport { SAXParser } from 'sax'\nimport { promisify } from 'util'\nimport { IDictDoneCb, SAXStream } from '../../dict-primitive'\nimport { FixDefinitions } from '../../definition'\nimport { AbbreviationsParser } from './abbreviations-parser'\nimport { BaseParser } from './base-parser'\nimport { ComponentsParser } from './components-parser'\nimport { EnumsParser } from './enums-parser'\nimport { FieldsParser } from './fields-parser'\nimport { MessagesParser } from './messages-parser'\nimport { MsgContentsParser } from './msg-contents-parser'\nimport { Repository } from './repository'\nimport { FixParser } from '../../fix-parser'\nimport { GetJsFixLogger, IJsFixLogger } from '../../../config'\nimport { DataTypesParser } from './data-types-parser'\nimport { ISaxNode } from '../../sax-node'\nimport { VersionUtil } from '../../version-util'\n\nexport class RepositoryXmlParser extends FixParser {\n public readonly repository: Repository\n private readonly singlePass = promisify(RepositoryXmlParser.subscribe)\n private readonly logger: IJsFixLogger\n\n constructor (public readonly rootPath: string, public readonly getLogger: GetJsFixLogger) {\n super()\n this.logger = getLogger('RepositoryXmlParser')\n this.repository = new Repository(VersionUtil.resolve(this.rootPath), getLogger)\n }\n\n private static subscribe (instance: RepositoryXmlParser, saxStream: SAXStream, done: IDictDoneCb): void {\n let parser: BaseParser | null\n let pending: string | null\n const saxParser: SAXParser = saxStream._parser\n\n saxStream.on('error', (e: Error) => {\n done(e, null)\n })\n\n saxStream.on('closetag', (name) => {\n switch (name) {\n case 'Datatypes':\n case 'Abbreviations':\n case 'Messages':\n case 'MsgContents':\n case 'Components':\n case 'Fields':\n case 'Enums': {\n if (parser != null) {\n parser.close(saxParser.line, name)\n instance.repository.assign(name, parser.data)\n parser = null\n }\n break\n }\n\n case 'Datatype':\n case 'Abbreviation':\n case 'MsgContent':\n case 'Field':\n case 'Enum':\n case 'Component':\n case 'Message': {\n if (parser != null) {\n parser.close(saxParser.line, name)\n }\n break\n }\n\n default: {\n pending = null\n break\n }\n }\n })\n\n saxStream.on('text', (t: string) => {\n t = t.trim()\n if (pending) {\n parser?.value(saxParser.line, pending, t)\n }\n })\n\n saxStream.on('opentag', (node) => {\n const saxNode: ISaxNode = node as ISaxNode\n switch (saxNode.name) {\n case 'Datatypes': {\n parser = new DataTypesParser()\n break\n }\n\n case 'Fields': {\n parser = new FieldsParser()\n break\n }\n\n case 'Enums': {\n parser = new EnumsParser()\n break\n }\n\n case 'Components': {\n parser = new ComponentsParser()\n break\n }\n\n case 'Messages': {\n parser = new MessagesParser()\n break\n }\n\n case 'MsgContents': {\n parser = new MsgContentsParser()\n break\n }\n\n case 'Abbreviations': {\n parser = new AbbreviationsParser()\n break\n }\n\n case 'Datatype':\n case 'Abbreviation':\n case 'Field':\n case 'Message':\n case 'MsgContent':\n case 'Enum':\n case 'Component': {\n if (parser != null) {\n parser.open(saxParser.line, saxNode)\n }\n break\n }\n\n default: {\n pending = saxNode.name\n }\n }\n })\n\n saxStream.on('ready', () => {\n if (done) {\n parser = null\n done(undefined, instance.repository.definitions)\n }\n })\n }\n\n public async parse (): Promise<FixDefinitions> {\n return await new Promise<FixDefinitions>(async (resolve, reject) => {\n try {\n await this.onePass('Datatypes.xml')\n await this.onePass('Fields.xml')\n await this.onePass('Enums.xml')\n await this.onePass('Components.xml')\n await this.onePass('Messages.xml')\n await this.onePass('MsgContents.xml')\n if (this.repository.includesAbbreviations) {\n await this.onePass('Abbreviations.xml')\n }\n resolve(this.repository.definitions)\n } catch (e) {\n reject(e)\n }\n })\n }\n\n private async onePass (fileName: string): Promise<any> {\n const logger = this.logger\n const fullFileName = path.join(this.rootPath, fileName)\n const pass: fs.ReadStream = fs.createReadStream(fullFileName)\n logger.info(`reading ${fullFileName}`)\n const saxStream: SAXStream = require('sax').createStream(true, {})\n pass.pipe(saxStream)\n await this.singlePass(this, saxStream)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields-parser.js","sourceRoot":"","sources":["../../../../src/dictionary/parser/fixml/fields-parser.ts"],"names":[],"mappings":";;;AACA,iDAAwE;AACxE,6CAAwC;AAwBxC,MAAa,YAAa,SAAQ,sBAAS;IAEzC,YAAoC,WAA2B;QAC7D,KAAK,CAAC,WAAW,CAAC,CAAA;QADgB,gBAAW,GAAX,WAAW,CAAgB;QAD9C,UAAK,GAAa,EAAE,CAAA;IAGrC,CAAC;IAEM,KAAK,CAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QAC9C,MAAM,OAAO,GAAiB,IAAI,CAAC,OAAuB,CAAA;QAC1D,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;gBACzC,MAAK;YACP,CAAC;YACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAA;gBAC9B,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAEM,KAAK,CAAE,IAAY,EAAE,IAAY;QACtC,MAAM,OAAO,GAAiB,IAAI,CAAC,OAAuB,CAAA;QAC1D,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAA;gBACrC,MAAK;YACP,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,YAAY,EAAE,CAAA;gBACnB,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAEM,IAAI,CAAE,IAAY,EAAE,IAAc;QACvC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,OAAO,GAAG;oBACb,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;iBACrB,CAAA;gBACjB,MAAK;YACP,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACjB,MAAK;YACP,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;gBACnD,MAAK;YACP,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;gBAChD,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAA;gBAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;gBACxB,MAAK;YACP,CAAC;YAED;gBACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAC5B,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"fields-parser.js","sourceRoot":"","sources":["../../../../src/dictionary/parser/fixml/fields-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ILooseObject } from '../../../collections/collection'\nimport { SimpleFieldDefinition, FixDefinitions } from '../../definition'\nimport { XsdParser } from './xsd-parser'\nimport { ISaxNode } from '../../sax-node'\n\ninterface ISimpleField extends ILooseObject {\n restrictionBase: string\n documentation: string\n Protocol: string\n simpleTypeName: string\n name: string\n ComponentType: string\n Tag: string\n Type: string\n AbbrName: string\n Category: string\n CategoryAbbrName: string\n enums: Map<string, string>\n currentEnum: string\n}\n\ninterface IAlias {\n name: string\n mapped: string\n}\n\nexport class FieldsParser extends XsdParser {\n private readonly alias: IAlias[] = []\n public constructor (public readonly definitions: FixDefinitions) {\n super(definitions)\n }\n\n public value (line: number, n: string, v: string): void {\n const current: ISimpleField = this.current as ISimpleField\n switch (n) {\n case 'fm:EnumDoc': {\n current.enums.set(current.currentEnum, v)\n break\n }\n case 'xs:documentation': {\n this.current.documentation = v\n break\n }\n }\n }\n\n public close (line: number, node: string): void {\n const current: ISimpleField = this.current as ISimpleField\n switch (node) {\n case 'xs:simpleType': {\n this.data[this.data.length] = current\n break\n }\n\n case 'xs:schema': {\n this.insertFields()\n break\n }\n }\n }\n\n public open (line: number, node: ISaxNode): void {\n switch (node.name) {\n case 'xs:simpleType': {\n this.current = {\n simpleTypeName: node.attributes.name\n } as ISimpleField\n break\n }\n\n case 'fm:Xref': {\n this.assign(node)\n break\n }\n\n case 'xs:restriction': {\n this.current.restrictionBase = node.attributes.base\n break\n }\n\n case 'fm:EnumDoc': {\n if (!this.current.enums) {\n this.current.enums = new Map<string, string>()\n }\n this.current.currentEnum = node.attributes.value\n this.pending = node.name\n break\n }\n\n default:\n this.pending = node.name\n }\n }\n\n private insertFields (): void {\n const alias = this.alias;\n (this.data as ISimpleField[]).forEach((f: ISimpleField) => {\n const sf: SimpleFieldDefinition = new SimpleFieldDefinition(f.Tag,\n f.name,\n f.AbbrName,\n f.Category,\n f.CategoryAbbrName,\n f.Type,\n f.documentation)\n if (f.enums) {\n f.enums.forEach((k: string, v: string) => {\n sf.addEnum(k, v)\n })\n }\n if (f.name && f.Type && f.Tag) {\n this.definitions.addSimpleFieldDef(sf, f.simpleTypeName)\n } else if (f.restrictionBase && f.simpleTypeName) {\n let mapped = f.simpleTypeName\n if (mapped.endsWith('_t')) {\n mapped = mapped.replace(/_t$/, '')\n } else {\n mapped = f.restrictionBase\n }\n alias.push({\n name: f.simpleTypeName,\n mapped\n })\n }\n })\n alias.forEach((a: IAlias) => {\n this.definitions.addSimpleAlias(a.mapped, a.name)\n })\n }\n}\n"]}
|
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -15,7 +48,7 @@ const fix_parser_1 = require("../../fix-parser");
|
|
|
15
48
|
const fields_parser_1 = require("./fields-parser");
|
|
16
49
|
const include_graph_1 = require("./include-graph");
|
|
17
50
|
const components_parser_1 = require("./components-parser");
|
|
18
|
-
const path = require("path");
|
|
51
|
+
const path = __importStar(require("path"));
|
|
19
52
|
const fix_definition_source_1 = require("../../fix-definition-source");
|
|
20
53
|
const fix_versions_1 = require("../../fix-versions");
|
|
21
54
|
class FixXsdParser extends fix_parser_1.FixParser {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-xsd-parser.js","sourceRoot":"","sources":["../../../../src/dictionary/parser/fixml/fix-xsd-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fix-xsd-parser.js","sourceRoot":"","sources":["../../../../src/dictionary/parser/fixml/fix-xsd-parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD,iDAA4C;AAC5C,mDAA8C;AAC9C,mDAA8C;AAC9C,2DAAsD;AAGtD,2CAA4B;AAC5B,uEAAiE;AACjE,qDAA+C;AAE/C,MAAa,YAAa,SAAQ,sBAAS;IAIzC,YAA6B,QAAgB,EAAS,SAAyB;QAC7E,KAAK,EAAE,CAAA;QADoB,aAAQ,GAAR,QAAQ,CAAQ;QAAS,cAAS,GAAT,SAAS,CAAgB;QAE7E,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,2BAAc,CAAC,2CAAmB,CAAC,SAAS,EAAE,yBAAU,CAAC,UAAU,CAAC,CAAA;IAC7F,CAAC;IAEK,KAAK;;;YACT,MAAM,WAAW,GAAmB,IAAI,CAAC,WAAW,CAAA;YACpD,MAAM,GAAG,GAAW,SAAS,CAAA;YAC7B,MAAM,IAAI,GAAW,cAAc,GAAG,MAAM,CAAA;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YAC1B,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,cAAc,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YAClE,MAAM,CAAC,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAC/C,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;YACf,MAAM,QAAQ,GAAa,MAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAA;YAChD,MAAM,MAAM,GAAiB,IAAI,4BAAY,CAAC,WAAW,CAAC,CAAA;YAC1D,MAAM,UAAU,GAAqB,IAAI,oCAAgB,CAAC,WAAW,CAAC,CAAA;YACtE,MAAM,QAAQ,GAAa,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAW,EAAE,CAAS,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;gBACD,OAAO,CAAC,CAAA;YACV,CAAC,EAAE,EAAE,CAAC,CAAA;YAEN,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAc,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAA;gBACzE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;gBAChC,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;YACjD,CAAC;YACD,OAAO,IAAI,CAAC,WAAW,CAAA;QACzB,CAAC;KAAA;CACF;AAnCD,oCAmCC","sourcesContent":["import { FixDefinitions } from '../../definition'\nimport { FixParser } from '../../fix-parser'\nimport { FieldsParser } from './fields-parser'\nimport { IncludeGraph } from './include-graph'\nimport { ComponentsParser } from './components-parser'\nimport { XsdParser } from './xsd-parser'\nimport { GetJsFixLogger, IJsFixLogger } from '../../../config'\nimport * as path from 'path'\nimport { FixDefinitionSource } from '../../fix-definition-source'\nimport { FixVersion } from '../../fix-versions'\n\nexport class FixXsdParser extends FixParser {\n public readonly definitions: FixDefinitions\n private readonly logger: IJsFixLogger\n\n constructor (public readonly rootPath: string, public getLogger: GetJsFixLogger) {\n super()\n this.logger = getLogger('FixXsdParser')\n this.definitions = new FixDefinitions(FixDefinitionSource.FixmlRepo, FixVersion.FIXML50SP2)\n }\n\n async parse (): Promise<FixDefinitions> {\n const definitions: FixDefinitions = this.definitions\n const ver: string = '5-0-SP2'\n const main: string = `fixml-main-${ver}.xsd`\n const logger = this.logger\n logger.info(`resolve includes ${main} from root ${this.rootPath}`)\n const t = new IncludeGraph(this.rootPath, main)\n await t.build()\n const resolved: string[] = t.resolve(main) ?? []\n const fields: FieldsParser = new FieldsParser(definitions)\n const components: ComponentsParser = new ComponentsParser(definitions)\n const filtered: string[] = resolved.reduce((a: string[], f: string) => {\n if (f.indexOf('-impl-') || f.indexOf('-base-')) {\n a.push(f)\n }\n return a\n }, [])\n\n for (const f of filtered) {\n const parser: XsdParser = f.indexOf('-fields-') > 0 ? fields : components\n logger.info(`parsing file ${f}`)\n await parser.parse(path.join(this.rootPath, f))\n }\n return this.definitions\n }\n}\n"]}
|
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -10,8 +43,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
43
|
};
|
|
11
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
45
|
exports.IncludeGraph = void 0;
|
|
13
|
-
const path = require("path");
|
|
14
|
-
const fs = require("fs");
|
|
46
|
+
const path = __importStar(require("path"));
|
|
47
|
+
const fs = __importStar(require("fs"));
|
|
15
48
|
class IncludeGraph {
|
|
16
49
|
constructor(root, main) {
|
|
17
50
|
this.root = root;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"include-graph.js","sourceRoot":"","sources":["../../../../src/dictionary/parser/fixml/include-graph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"include-graph.js","sourceRoot":"","sources":["../../../../src/dictionary/parser/fixml/include-graph.ts"],"names":[],"mappings":"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","sourcesContent":["import { SAXStream } from '../../dict-primitive'\nimport { INumericKeyed } from '../../../collections/collection'\nimport * as path from 'path'\nimport * as fs from 'fs'\nimport { ISaxNode } from '../../sax-node'\n\nexport interface IInclude {\n parent: string\n children: string[]\n}\n\nexport interface IGraphNode {\n file: string\n node: number\n edges: number[]\n}\n\n/*\n construct a dependency graph from all the xsd files to compute an order to build the definition\n */\n\nexport class IncludeGraph {\n private nodes: Map<string, number>\n private includes: IInclude[]\n private graph: INumericKeyed<IGraphNode>\n constructor (public readonly root: string, public readonly main: string) {\n }\n\n public async build (): Promise<any> {\n this.includes = await this.getIncludes(this.main)\n this.assignNodes()\n this.getGraph()\n }\n\n public resolve (file: string): string[] | null {\n const label: number | undefined = this.nodes.get(file)\n if (label == null) {\n return null\n }\n const depends: number[] = []\n this.resolve_nodes(label, depends)\n return depends.map((i: number) => {\n return this.graph[i].file\n })\n }\n\n private resolve_nodes (label: number, depends: number[]): void {\n const node: IGraphNode = this.graph[label]\n if (node) {\n node.edges.forEach(e => {\n if (!depends.includes(e)) {\n this.resolve_nodes(e, depends)\n }\n })\n }\n depends.push(label)\n }\n\n private getGraph (): void {\n const nodes = this.nodes\n this.graph = this.includes.reduce<INumericKeyed<IGraphNode>>((a: INumericKeyed<IGraphNode>, current: IInclude) => {\n const parent: number | undefined = nodes.get(current.parent)\n if (parent == null) return a\n let parentNode = a[parent]\n if (!parentNode) {\n a[parent] = parentNode = {\n file: current.parent,\n node: parent,\n edges: []\n } as IGraphNode\n }\n current.children.forEach((s: string) => {\n const child: number | undefined = nodes.get(s)\n if (child) {\n if (!parentNode.edges.includes(child)) {\n parentNode.edges.push(child)\n }\n }\n })\n return a\n }, {})\n }\n\n private assignNodes (): void {\n let next: number = 0\n this.nodes = this.includes.reduce((a: Map<string, number>, current: IInclude) => {\n if (!a.has(current.parent)) {\n a.set(current.parent, next++)\n }\n current.children.forEach((c: string) => {\n if (!a.has(c)) {\n a.set(c, next++)\n }\n })\n return a\n }, new Map<string, number>())\n }\n\n private async scanIncludes (file: string): Promise<string[]> {\n return await new Promise<string[]>((resolve, reject) => {\n const includes: string[] = []\n const pass: fs.ReadStream = fs.createReadStream(path.join(this.root, file))\n const saxStream: SAXStream = require('sax').createStream(true, {})\n saxStream.on('opentag', (node) => {\n const saxNode: ISaxNode = node\n switch (saxNode.name) {\n case 'xs:include': {\n includes.push(saxNode.attributes.schemaLocation)\n break\n }\n }\n })\n saxStream.on('ready', () => {\n resolve(includes)\n })\n saxStream.on('error', (r) => {\n reject(r)\n })\n pass.pipe(saxStream)\n })\n }\n\n private async getIncludes (main: string): Promise<IInclude[]> {\n const q: any[] = []\n q.push([main])\n const ordered: IInclude[] = []\n const seen: Map<string, boolean> = new Map<string, boolean>()\n return await new Promise<IInclude[]>(async (resolve, reject) => {\n try {\n while (q.length > 0) {\n const batch: string[] = q.pop()\n for (const next of batch) {\n if (seen.has(next)) {\n continue\n }\n seen.set(next, true)\n const includes: string[] = await this.scanIncludes(next)\n ordered.push({\n parent: next,\n children: includes\n } as IInclude)\n q.push(includes)\n }\n }\n resolve(ordered)\n } catch (e) {\n reject(e)\n }\n })\n }\n}\n"]}
|
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -10,7 +43,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
43
|
};
|
|
11
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
45
|
exports.XsdParser = void 0;
|
|
13
|
-
const fs = require("fs");
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
14
47
|
class XsdParser {
|
|
15
48
|
constructor(definitions) {
|
|
16
49
|
this.definitions = definitions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xsd-parser.js","sourceRoot":"","sources":["../../../../src/dictionary/parser/fixml/xsd-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xsd-parser.js","sourceRoot":"","sources":["../../../../src/dictionary/parser/fixml/xsd-parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,uCAAwB;AAIxB,MAAsB,SAAS;IAK7B,YAAuC,WAA2B;QAA3B,gBAAW,GAAX,WAAW,CAAgB;QAJlD,SAAI,GAAmB,EAAE,CAAA;IAKzC,CAAC;IAEY,KAAK,CAAE,IAAY;;YAC9B,OAAO,MAAM,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3D,MAAM,IAAI,GAAkB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBACrD,MAAM,SAAS,GAAc,OAAO,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;gBAClE,MAAM,SAAS,GAAc,SAAS,CAAC,OAAO,CAAA;gBAC9C,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACjC,CAAC,CAAC,CAAA;gBAEF,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAY,EAAE,EAAE;oBACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAClC,CAAC,CAAC,CAAA;gBAEF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACzB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC3B,CAAC,CAAC,CAAA;gBAEF,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;oBACjC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;oBACZ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;oBAC7C,CAAC;gBACH,CAAC,CAAC,CAAA;gBAEF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBAC1B,MAAM,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACtB,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAMS,MAAM,CAAE,IAAc,EAAE,MAAqB;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;QACvB,CAAC;QACD,MAAM,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;CACF;AApDD,8BAoDC","sourcesContent":["import { FixDefinitions } from '../../definition'\nimport { ILooseObject } from '../../../collections/collection'\nimport { SAXStream } from '../../dict-primitive'\nimport * as fs from 'fs'\nimport { SAXParser } from 'sax'\nimport { ISaxNode } from '../../sax-node'\n\nexport abstract class XsdParser {\n public readonly data: ILooseObject[] = []\n public current: ILooseObject\n protected pending: string | null\n\n protected constructor (public readonly definitions: FixDefinitions) {\n }\n\n public async parse (file: string): Promise<FixDefinitions> {\n return await new Promise<FixDefinitions>((resolve, reject) => {\n const pass: fs.ReadStream = fs.createReadStream(file)\n const saxStream: SAXStream = require('sax').createStream(true, {})\n const saxParser: SAXParser = saxStream._parser\n saxStream.on('opentag', (node) => {\n this.open(saxParser.line, node)\n })\n\n saxStream.on('closetag', (name: string) => {\n this.close(saxParser.line, name)\n })\n\n saxStream.on('ready', () => {\n resolve(this.definitions)\n })\n\n saxStream.on('text', (t: string) => {\n t = t.trim()\n if (t.length > 0 && this.pending) {\n this.value(saxParser.line, this.pending, t)\n }\n })\n\n saxStream.on('error', (r) => {\n reject(r)\n })\n pass.pipe(saxStream)\n })\n }\n\n public abstract close (line: number, node: string): void\n public abstract open (line: number, node: ISaxNode): void\n public abstract value (line: number, n: string, v: string): void\n\n protected assign (node: ISaxNode, target?: ILooseObject): void {\n if (!target) {\n target = this.current\n }\n const keys: string[] = Object.keys(node.attributes)\n for (const k of keys) {\n target[k] = node.attributes[k]\n }\n }\n}\n"]}
|
package/dist/jsfix-cmd.js
CHANGED
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,6 +41,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
41
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
42
|
});
|
|
10
43
|
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
11
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
48
|
exports.JsfixCmd = void 0;
|
|
13
49
|
require("reflect-metadata");
|
|
@@ -16,14 +52,14 @@ const ascii_1 = require("./buffer/ascii");
|
|
|
16
52
|
const util_1 = require("./util");
|
|
17
53
|
const transport_1 = require("./transport");
|
|
18
54
|
const types_1 = require("./types");
|
|
19
|
-
const util = require("util");
|
|
55
|
+
const util = __importStar(require("util"));
|
|
20
56
|
const minimist = require("minimist");
|
|
21
|
-
const path = require("path");
|
|
57
|
+
const path = __importStar(require("path"));
|
|
22
58
|
const factory_1 = require("./transport/factory");
|
|
23
59
|
const compiler_1 = require("./dictionary/compiler");
|
|
24
60
|
const runtime_1 = require("./runtime");
|
|
25
61
|
const di_tokens_1 = require("./runtime/di-tokens");
|
|
26
|
-
const minimist_options_1 = require("minimist-options");
|
|
62
|
+
const minimist_options_1 = __importDefault(require("minimist-options"));
|
|
27
63
|
const quick_fix_xml_file_builder_1 = require("./dictionary/parser/quickfix/quick-fix-xml-file-builder");
|
|
28
64
|
const fs = require('node-fs-extra');
|
|
29
65
|
const options = (0, minimist_options_1.default)({
|