@vuu-ui/vuu-data-test 0.10.0 → 0.10.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 (70) hide show
  1. package/cjs/simul/reference-data/instruments.js +2 -2
  2. package/cjs/simul/reference-data/instruments.js.map +1 -1
  3. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +6 -0
  4. package/cjs/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +1 -0
  5. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js +31 -0
  6. package/cjs/simul/reference-data/isin-generator/fixtures/alphabet.js.map +1 -0
  7. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +9 -0
  8. package/cjs/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +1 -0
  9. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +17 -0
  10. package/cjs/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +1 -0
  11. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js +24 -0
  12. package/cjs/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +1 -0
  13. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +13 -0
  14. package/cjs/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +1 -0
  15. package/cjs/simul/reference-data/isin-generator/generate-cusip.js +13 -0
  16. package/cjs/simul/reference-data/isin-generator/generate-cusip.js.map +1 -0
  17. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js +8 -0
  18. package/cjs/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +1 -0
  19. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js +6 -0
  20. package/cjs/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +1 -0
  21. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +14 -0
  22. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +1 -0
  23. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +14 -0
  24. package/cjs/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +1 -0
  25. package/cjs/simul/reference-data/isin-generator/index.js +295 -0
  26. package/cjs/simul/reference-data/isin-generator/index.js.map +1 -0
  27. package/cjs/simul/reference-data/isin-generator/is-odd.js +6 -0
  28. package/cjs/simul/reference-data/isin-generator/is-odd.js.map +1 -0
  29. package/esm/simul/reference-data/instruments.js +1 -1
  30. package/esm/simul/reference-data/instruments.js.map +1 -1
  31. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js +4 -0
  32. package/esm/simul/reference-data/isin-generator/convert-string-to-base-ten-number.js.map +1 -0
  33. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js +29 -0
  34. package/esm/simul/reference-data/isin-generator/fixtures/alphabet.js.map +1 -0
  35. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js +7 -0
  36. package/esm/simul/reference-data/isin-generator/fixtures/alphanumeric-values.js.map +1 -0
  37. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js +15 -0
  38. package/esm/simul/reference-data/isin-generator/fixtures/base-ten-numbers.js.map +1 -0
  39. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js +22 -0
  40. package/esm/simul/reference-data/isin-generator/generate-cusip-check-code.js.map +1 -0
  41. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js +11 -0
  42. package/esm/simul/reference-data/isin-generator/generate-cusip-without-check-code.js.map +1 -0
  43. package/esm/simul/reference-data/isin-generator/generate-cusip.js +11 -0
  44. package/esm/simul/reference-data/isin-generator/generate-cusip.js.map +1 -0
  45. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js +6 -0
  46. package/esm/simul/reference-data/isin-generator/generate-random-alphanumeric.js.map +1 -0
  47. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js +4 -0
  48. package/esm/simul/reference-data/isin-generator/generate-random-base-ten-number.js.map +1 -0
  49. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js +12 -0
  50. package/esm/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.js.map +1 -0
  51. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js +12 -0
  52. package/esm/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.js.map +1 -0
  53. package/esm/simul/reference-data/isin-generator/index.js +293 -0
  54. package/esm/simul/reference-data/isin-generator/index.js.map +1 -0
  55. package/esm/simul/reference-data/isin-generator/is-odd.js +4 -0
  56. package/esm/simul/reference-data/isin-generator/is-odd.js.map +1 -0
  57. package/package.json +6 -7
  58. package/types/simul/reference-data/isin-generator/convert-string-to-base-ten-number.d.ts +1 -0
  59. package/types/simul/reference-data/isin-generator/fixtures/alphabet.d.ts +1 -0
  60. package/types/simul/reference-data/isin-generator/fixtures/alphanumeric-values.d.ts +1 -0
  61. package/types/simul/reference-data/isin-generator/fixtures/base-ten-numbers.d.ts +1 -0
  62. package/types/simul/reference-data/isin-generator/generate-cusip-check-code.d.ts +1 -0
  63. package/types/simul/reference-data/isin-generator/generate-cusip-without-check-code.d.ts +1 -0
  64. package/types/simul/reference-data/isin-generator/generate-cusip.d.ts +1 -0
  65. package/types/simul/reference-data/isin-generator/generate-random-alphanumeric.d.ts +1 -0
  66. package/types/simul/reference-data/isin-generator/generate-random-base-ten-number.d.ts +1 -0
  67. package/types/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.d.ts +1 -0
  68. package/types/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.d.ts +1 -0
  69. package/types/simul/reference-data/isin-generator/index.d.ts +1 -0
  70. package/types/simul/reference-data/isin-generator/is-odd.d.ts +1 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var isinGenerator = require('@thomaschaplin/isin-generator');
3
+ var index = require('./isin-generator/index.js');
4
4
  var currencies = require('./currencies.js');
5
5
  var locations = require('./locations.js');
6
6
  var lotsizes = require('./lotsizes.js');
@@ -39,7 +39,7 @@ for (const char1 of chars1) {
39
39
  const bbg = char1 + char2 + char3 + char4 + " " + suffix;
40
40
  const description = `${ric} description`;
41
41
  const currency = currencies.currencies[dataUtils.random(0, 4)];
42
- const isin = isinGenerator.isinGenerator();
42
+ const isin = index.isinGenerator();
43
43
  const lotSize = lotsizes.lotsizes[dataUtils.random(0, lotsizes.lotsizes.length - 1)];
44
44
  const exchange = locations.locations[suffix][1];
45
45
  const price = randomPrice();
@@ -1 +1 @@
1
- {"version":3,"file":"instruments.js","sources":["../../../src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"@thomaschaplin/isin-generator\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap, Table } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = number;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n ric,\n price,\n date\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n ric: 6,\n price: 7,\n date: 8\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return price / multiplier;\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n const date = new Date().getTime();\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n ric,\n price,\n date\n ]);\n count++;\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = new Table(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\")\n);\n\nexport { instrumentsData };\n"],"names":["random","suffixes","currencies","isinGenerator","lotsizes","locations","Table","schemas","buildDataColumnMap"],"mappings":";;;;;;;;;;AA6BO,MAAM,mBAAsB,GAAA;AAAA,EACjC,GAAK,EAAA,CAAA;AAAA,EACL,QAAU,EAAA,CAAA;AAAA,EACV,WAAa,EAAA,CAAA;AAAA,EACb,QAAU,EAAA,CAAA;AAAA,EACV,MAAQ,EAAA,CAAA;AAAA,EACR,MAAQ,EAAA,CAAA;AAAA,EACR,GAAK,EAAA,CAAA;AAAA,EACL,KAAO,EAAA,CAAA;AAAA,EACP,IAAM,EAAA;AACR;AAEA,MAAM,kBAAwC;AAE9C,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AAEtC,MAAM,cAAc,MAAM;AACxB,EAAM,MAAA,KAAA,GAAQA,gBAAO,CAAA,CAAA,EAAG,GAAK,CAAA;AAC7B,EAAM,MAAA,UAAA,GAAaA,gBAAO,CAAA,CAAA,EAAG,EAAE,CAAA;AAC/B,EAAA,OAAO,KAAQ,GAAA,UAAA;AACjB,CAAA;AAIA,IAAI,KAAQ,GAAA,CAAA;AACZ,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,EAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,IAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,MAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,QAAM,MAAA,MAAA,GAASC,kBAAS,CAAA,KAAA,GAAQ,CAAC,CAAA;AACjC,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAM,MAAA,WAAA,GAAc,GAAG,GAAG,CAAA,YAAA,CAAA;AAC1B,QAAA,MAAM,QAAW,GAAAC,qBAAA,CAAWF,gBAAO,CAAA,CAAA,EAAG,CAAC,CAAC,CAAA;AACxC,QAAA,MAAM,OAAOG,2BAAc,EAAA;AAC3B,QAAA,MAAM,UAAUC,iBAAS,CAAAJ,gBAAA,CAAO,GAAGI,iBAAS,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAEvD,QAAA,MAAM,QAAW,GAAAC,mBAAA,CAAU,MAAM,CAAA,CAAE,CAAC,CAAA;AACpC,QAAA,MAAM,QAAQ,WAAY,EAAA;AAC1B,QAAA,MAAM,IAAO,GAAA,iBAAA,IAAI,IAAK,EAAA,EAAE,OAAQ,EAAA;AAEhC,QAAA,eAAA,CAAgB,IAAK,CAAA;AAAA,UACnB,GAAA;AAAA,UACA,QAAA;AAAA,UACA,WAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAO,IAAI,CAAA;AAAA,UACX,OAAA;AAAA,UACA,GAAA;AAAA,UACA,KAAA;AAAA,UACA;AAAA,SACD,CAAA;AACD,QAAA,KAAA,EAAA;AAAA;AACF;AACF;AAEJ;AAKa,MAAA,MAAA,GAAS,CAAC,UAAuB,KAAA;AAC5C,EAAA,MAAM,MAAM,eAAgB,CAAA,EAAA,CAAGL,iBAAO,CAAG,EAAA,eAAA,CAAgB,MAAM,CAAC,CAAA;AAChE,EAAO,OAAA,GAAA,GAAM,mBAAoB,CAAA,GAAG,CAAK,IAAA,UAAA;AAC3C;AAEO,MAAM,mBAAmB,IAAIM,WAAA;AAAA,EAClCC,oBAAQ,CAAA,WAAA;AAAA,EACR,eAAA;AAAA,EACAC,wBAAA,CAAmBD,sBAAS,aAAa;AAC3C;;;;;;;"}
1
+ {"version":3,"file":"instruments.js","sources":["../../../src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"./isin-generator\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap, Table } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = number;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n ric,\n price,\n date,\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n ric: 6,\n price: 7,\n date: 8,\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return price / multiplier;\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n const date = new Date().getTime();\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n ric,\n price,\n date,\n ]);\n count++;\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = new Table(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\"),\n);\n\nexport { instrumentsData };\n"],"names":["random","suffixes","currencies","isinGenerator","lotsizes","locations","Table","schemas","buildDataColumnMap"],"mappings":";;;;;;;;;;AA6BO,MAAM,mBAAsB,GAAA;AAAA,EACjC,GAAK,EAAA,CAAA;AAAA,EACL,QAAU,EAAA,CAAA;AAAA,EACV,WAAa,EAAA,CAAA;AAAA,EACb,QAAU,EAAA,CAAA;AAAA,EACV,MAAQ,EAAA,CAAA;AAAA,EACR,MAAQ,EAAA,CAAA;AAAA,EACR,GAAK,EAAA,CAAA;AAAA,EACL,KAAO,EAAA,CAAA;AAAA,EACP,IAAM,EAAA;AACR;AAEA,MAAM,kBAAwC;AAE9C,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AAEtC,MAAM,cAAc,MAAM;AACxB,EAAM,MAAA,KAAA,GAAQA,gBAAO,CAAA,CAAA,EAAG,GAAK,CAAA;AAC7B,EAAM,MAAA,UAAA,GAAaA,gBAAO,CAAA,CAAA,EAAG,EAAE,CAAA;AAC/B,EAAA,OAAO,KAAQ,GAAA,UAAA;AACjB,CAAA;AAIA,IAAI,KAAQ,GAAA,CAAA;AACZ,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,EAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,IAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,MAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,QAAM,MAAA,MAAA,GAASC,kBAAS,CAAA,KAAA,GAAQ,CAAC,CAAA;AACjC,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAM,MAAA,WAAA,GAAc,GAAG,GAAG,CAAA,YAAA,CAAA;AAC1B,QAAA,MAAM,QAAW,GAAAC,qBAAA,CAAWF,gBAAO,CAAA,CAAA,EAAG,CAAC,CAAC,CAAA;AACxC,QAAA,MAAM,OAAOG,mBAAc,EAAA;AAC3B,QAAA,MAAM,UAAUC,iBAAS,CAAAJ,gBAAA,CAAO,GAAGI,iBAAS,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAEvD,QAAA,MAAM,QAAW,GAAAC,mBAAA,CAAU,MAAM,CAAA,CAAE,CAAC,CAAA;AACpC,QAAA,MAAM,QAAQ,WAAY,EAAA;AAC1B,QAAA,MAAM,IAAO,GAAA,iBAAA,IAAI,IAAK,EAAA,EAAE,OAAQ,EAAA;AAEhC,QAAA,eAAA,CAAgB,IAAK,CAAA;AAAA,UACnB,GAAA;AAAA,UACA,QAAA;AAAA,UACA,WAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAO,IAAI,CAAA;AAAA,UACX,OAAA;AAAA,UACA,GAAA;AAAA,UACA,KAAA;AAAA,UACA;AAAA,SACD,CAAA;AACD,QAAA,KAAA,EAAA;AAAA;AACF;AACF;AAEJ;AAKa,MAAA,MAAA,GAAS,CAAC,UAAuB,KAAA;AAC5C,EAAA,MAAM,MAAM,eAAgB,CAAA,EAAA,CAAGL,iBAAO,CAAG,EAAA,eAAA,CAAgB,MAAM,CAAC,CAAA;AAChE,EAAO,OAAA,GAAA,GAAM,mBAAoB,CAAA,GAAG,CAAK,IAAA,UAAA;AAC3C;AAEO,MAAM,mBAAmB,IAAIM,WAAA;AAAA,EAClCC,oBAAQ,CAAA,WAAA;AAAA,EACR,eAAA;AAAA,EACAC,wBAAA,CAAmBD,sBAAS,aAAa;AAC3C;;;;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ const convertStringToBaseTenNumber = (value) => parseInt(value, 10);
4
+
5
+ exports.convertStringToBaseTenNumber = convertStringToBaseTenNumber;
6
+ //# sourceMappingURL=convert-string-to-base-ten-number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-string-to-base-ten-number.js","sources":["../../../../src/simul/reference-data/isin-generator/convert-string-to-base-ten-number.ts"],"sourcesContent":["export const convertStringToBaseTenNumber = (value: string): number =>\n parseInt(value, 10);\n"],"names":[],"mappings":";;AAAO,MAAM,4BAA+B,GAAA,CAAC,KAC3C,KAAA,QAAA,CAAS,OAAO,EAAE;;;;"}
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ const alphabet = [
4
+ "A",
5
+ "B",
6
+ "C",
7
+ "D",
8
+ "E",
9
+ "F",
10
+ "G",
11
+ "H",
12
+ "J",
13
+ "K",
14
+ "L",
15
+ "M",
16
+ "N",
17
+ "P",
18
+ "Q",
19
+ "R",
20
+ "S",
21
+ "T",
22
+ "U",
23
+ "V",
24
+ "W",
25
+ "X",
26
+ "Y",
27
+ "Z"
28
+ ];
29
+
30
+ exports.alphabet = alphabet;
31
+ //# sourceMappingURL=alphabet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alphabet.js","sources":["../../../../../src/simul/reference-data/isin-generator/fixtures/alphabet.ts"],"sourcesContent":["export const alphabet = [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n];\n"],"names":[],"mappings":";;AAAO,MAAM,QAAW,GAAA;AAAA,EACtB,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF;;;;"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var alphabet = require('./alphabet.js');
4
+ var baseTenNumbers = require('./base-ten-numbers.js');
5
+
6
+ const alphanumeric = [...alphabet.alphabet, ...baseTenNumbers.baseTenNumbers];
7
+
8
+ exports.alphanumeric = alphanumeric;
9
+ //# sourceMappingURL=alphanumeric-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alphanumeric-values.js","sources":["../../../../../src/simul/reference-data/isin-generator/fixtures/alphanumeric-values.ts"],"sourcesContent":["import { alphabet } from \"./alphabet\";\nimport { baseTenNumbers } from \"./base-ten-numbers\";\n\nexport const alphanumeric = [...alphabet, ...baseTenNumbers];\n"],"names":["alphabet","baseTenNumbers"],"mappings":";;;;;AAGO,MAAM,YAAe,GAAA,CAAC,GAAGA,iBAAA,EAAU,GAAGC,6BAAc;;;;"}
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ const baseTenNumbers = [
4
+ 0,
5
+ 1,
6
+ 2,
7
+ 3,
8
+ 4,
9
+ 5,
10
+ 6,
11
+ 7,
12
+ 8,
13
+ 9
14
+ ];
15
+
16
+ exports.baseTenNumbers = baseTenNumbers;
17
+ //# sourceMappingURL=base-ten-numbers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-ten-numbers.js","sources":["../../../../../src/simul/reference-data/isin-generator/fixtures/base-ten-numbers.ts"],"sourcesContent":["export const baseTenNumbers = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n];\n"],"names":[],"mappings":";;AAAO,MAAM,cAAiB,GAAA;AAAA,EAC5B,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA,CAAA;AAAA,EACA;AACF;;;;"}
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var convertStringToBaseTenNumber = require('./convert-string-to-base-ten-number.js');
4
+ var isOdd = require('./is-odd.js');
5
+
6
+ const generateCusipCheckCode = (cusip) => {
7
+ const cusipLength = cusip.length;
8
+ let currentValue;
9
+ let total = 0;
10
+ for (let i = 0; i < cusipLength; i++) {
11
+ currentValue = cusip[i];
12
+ const currentNumberToBaseTen = convertStringToBaseTenNumber.convertStringToBaseTenNumber(currentValue);
13
+ let currentNumberOrPosition = isNaN(currentNumberToBaseTen) ? currentValue.charCodeAt(0) - "A".charCodeAt(0) + 10 : parseInt(currentValue);
14
+ if (isOdd.isOdd(i)) {
15
+ currentNumberOrPosition = currentNumberOrPosition * 2;
16
+ }
17
+ total = total + Math.floor(currentNumberOrPosition / 10) + currentNumberOrPosition % 10;
18
+ }
19
+ const check = (10 - total % 10) % 10;
20
+ return check;
21
+ };
22
+
23
+ exports.generateCusipCheckCode = generateCusipCheckCode;
24
+ //# sourceMappingURL=generate-cusip-check-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-cusip-check-code.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-cusip-check-code.ts"],"sourcesContent":["import { convertStringToBaseTenNumber } from \"./convert-string-to-base-ten-number\";\nimport { isOdd } from \"./is-odd\";\n\nexport const generateCusipCheckCode = (cusip: string): number => {\n const cusipLength = cusip.length;\n let currentValue;\n let total = 0;\n\n for (let i = 0; i < cusipLength; i++) {\n currentValue = cusip[i];\n\n const currentNumberToBaseTen = convertStringToBaseTenNumber(currentValue);\n\n let currentNumberOrPosition = isNaN(currentNumberToBaseTen)\n ? currentValue.charCodeAt(0) - \"A\".charCodeAt(0) + 10\n : parseInt(currentValue);\n\n if (isOdd(i)) {\n currentNumberOrPosition = currentNumberOrPosition * 2;\n }\n\n total =\n total +\n Math.floor(currentNumberOrPosition / 10) +\n (currentNumberOrPosition % 10);\n }\n const check = (10 - (total % 10)) % 10;\n return check;\n};\n"],"names":["convertStringToBaseTenNumber","isOdd"],"mappings":";;;;;AAGa,MAAA,sBAAA,GAAyB,CAAC,KAA0B,KAAA;AAC/D,EAAA,MAAM,cAAc,KAAM,CAAA,MAAA;AAC1B,EAAI,IAAA,YAAA;AACJ,EAAA,IAAI,KAAQ,GAAA,CAAA;AAEZ,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,WAAA,EAAa,CAAK,EAAA,EAAA;AACpC,IAAA,YAAA,GAAe,MAAM,CAAC,CAAA;AAEtB,IAAM,MAAA,sBAAA,GAAyBA,0DAA6B,YAAY,CAAA;AAExE,IAAA,IAAI,uBAA0B,GAAA,KAAA,CAAM,sBAAsB,CAAA,GACtD,aAAa,UAAW,CAAA,CAAC,CAAI,GAAA,GAAA,CAAI,UAAW,CAAA,CAAC,CAAI,GAAA,EAAA,GACjD,SAAS,YAAY,CAAA;AAEzB,IAAI,IAAAC,WAAA,CAAM,CAAC,CAAG,EAAA;AACZ,MAAA,uBAAA,GAA0B,uBAA0B,GAAA,CAAA;AAAA;AAGtD,IAAA,KAAA,GACE,QACA,IAAK,CAAA,KAAA,CAAM,uBAA0B,GAAA,EAAE,IACtC,uBAA0B,GAAA,EAAA;AAAA;AAE/B,EAAM,MAAA,KAAA,GAAA,CAAS,EAAM,GAAA,KAAA,GAAQ,EAAO,IAAA,EAAA;AACpC,EAAO,OAAA,KAAA;AACT;;;;"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var generateRandomStringOfAlphanumericChars = require('./generate-random-string-of-alphanumeric-chars.js');
4
+ var generateRandomStringOfBaseTenChars = require('./generate-random-string-of-base-ten-chars.js');
5
+
6
+ const generateCusipWithoutCheckCode = () => {
7
+ const randomBaseTenString = generateRandomStringOfBaseTenChars.generateRandomStringOfBaseTenChars();
8
+ const randomAlphanumericString = generateRandomStringOfAlphanumericChars.generateRandomStringOfAlphanumericChars();
9
+ return randomBaseTenString + randomAlphanumericString;
10
+ };
11
+
12
+ exports.generateCusipWithoutCheckCode = generateCusipWithoutCheckCode;
13
+ //# sourceMappingURL=generate-cusip-without-check-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-cusip-without-check-code.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-cusip-without-check-code.ts"],"sourcesContent":["import { generateRandomStringOfAlphanumericChars } from \"./generate-random-string-of-alphanumeric-chars\";\nimport { generateRandomStringOfBaseTenChars } from \"./generate-random-string-of-base-ten-chars\";\n\nexport const generateCusipWithoutCheckCode = (): string => {\n const randomBaseTenString = generateRandomStringOfBaseTenChars();\n const randomAlphanumericString = generateRandomStringOfAlphanumericChars();\n return randomBaseTenString + randomAlphanumericString;\n};\n"],"names":["generateRandomStringOfBaseTenChars","generateRandomStringOfAlphanumericChars"],"mappings":";;;;;AAGO,MAAM,gCAAgC,MAAc;AACzD,EAAA,MAAM,sBAAsBA,qEAAmC,EAAA;AAC/D,EAAA,MAAM,2BAA2BC,+EAAwC,EAAA;AACzE,EAAA,OAAO,mBAAsB,GAAA,wBAAA;AAC/B;;;;"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var generateCusipCheckCode = require('./generate-cusip-check-code.js');
4
+ var generateCusipWithoutCheckCode = require('./generate-cusip-without-check-code.js');
5
+
6
+ const generateCusip = () => {
7
+ const cusip = generateCusipWithoutCheckCode.generateCusipWithoutCheckCode();
8
+ const check = generateCusipCheckCode.generateCusipCheckCode(cusip);
9
+ return cusip + check;
10
+ };
11
+
12
+ exports.generateCusip = generateCusip;
13
+ //# sourceMappingURL=generate-cusip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-cusip.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-cusip.ts"],"sourcesContent":["import { generateCusipCheckCode } from \"./generate-cusip-check-code\";\nimport { generateCusipWithoutCheckCode } from \"./generate-cusip-without-check-code\";\n\nexport const generateCusip = (): string => {\n const cusip = generateCusipWithoutCheckCode();\n const check = generateCusipCheckCode(cusip);\n\n return cusip + check;\n};\n"],"names":["generateCusipWithoutCheckCode","generateCusipCheckCode"],"mappings":";;;;;AAGO,MAAM,gBAAgB,MAAc;AACzC,EAAA,MAAM,QAAQA,2DAA8B,EAAA;AAC5C,EAAM,MAAA,KAAA,GAAQC,8CAAuB,KAAK,CAAA;AAE1C,EAAA,OAAO,KAAQ,GAAA,KAAA;AACjB;;;;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var alphanumericValues = require('./fixtures/alphanumeric-values.js');
4
+
5
+ const generateRandomAlphanumeric = () => alphanumericValues.alphanumeric[Math.floor(Math.random() * alphanumericValues.alphanumeric.length)];
6
+
7
+ exports.generateRandomAlphanumeric = generateRandomAlphanumeric;
8
+ //# sourceMappingURL=generate-random-alphanumeric.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-random-alphanumeric.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-random-alphanumeric.ts"],"sourcesContent":["import { alphanumeric } from \"./fixtures/alphanumeric-values\";\n\nexport const generateRandomAlphanumeric = (): string | number =>\n alphanumeric[Math.floor(Math.random() * alphanumeric.length)];\n"],"names":["alphanumeric"],"mappings":";;;;AAEa,MAAA,0BAAA,GAA6B,MACxCA,+BAAA,CAAa,IAAK,CAAA,KAAA,CAAM,KAAK,MAAO,EAAA,GAAIA,+BAAa,CAAA,MAAM,CAAC;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ const generateRandomBaseTenNumber = () => Math.floor(Math.random() * 10);
4
+
5
+ exports.generateRandomBaseTenNumber = generateRandomBaseTenNumber;
6
+ //# sourceMappingURL=generate-random-base-ten-number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-random-base-ten-number.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-random-base-ten-number.ts"],"sourcesContent":["export const generateRandomBaseTenNumber = (): number =>\n Math.floor(Math.random() * 10);\n"],"names":[],"mappings":";;AAAO,MAAM,8BAA8B,MACzC,IAAA,CAAK,MAAM,IAAK,CAAA,MAAA,KAAW,EAAE;;;;"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var generateRandomAlphanumeric = require('./generate-random-alphanumeric.js');
4
+
5
+ const generateRandomStringOfAlphanumericChars = () => {
6
+ let string = "";
7
+ for (let i = 0; i < 2; i++) {
8
+ string = string + generateRandomAlphanumeric.generateRandomAlphanumeric();
9
+ }
10
+ return string;
11
+ };
12
+
13
+ exports.generateRandomStringOfAlphanumericChars = generateRandomStringOfAlphanumericChars;
14
+ //# sourceMappingURL=generate-random-string-of-alphanumeric-chars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-random-string-of-alphanumeric-chars.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-random-string-of-alphanumeric-chars.ts"],"sourcesContent":["import { generateRandomAlphanumeric } from \"./generate-random-alphanumeric\";\n\nexport const generateRandomStringOfAlphanumericChars = () => {\n let string = \"\";\n for (let i = 0; i < 2; i++) {\n string = string + generateRandomAlphanumeric();\n }\n return string;\n};\n"],"names":["generateRandomAlphanumeric"],"mappings":";;;;AAEO,MAAM,0CAA0C,MAAM;AAC3D,EAAA,IAAI,MAAS,GAAA,EAAA;AACb,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,CAAA,EAAG,CAAK,EAAA,EAAA;AAC1B,IAAA,MAAA,GAAS,SAASA,qDAA2B,EAAA;AAAA;AAE/C,EAAO,OAAA,MAAA;AACT;;;;"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var generateRandomBaseTenNumber = require('./generate-random-base-ten-number.js');
4
+
5
+ const generateRandomStringOfBaseTenChars = () => {
6
+ let string = "";
7
+ for (let i = 0; i < 6; i++) {
8
+ string = string + generateRandomBaseTenNumber.generateRandomBaseTenNumber();
9
+ }
10
+ return string;
11
+ };
12
+
13
+ exports.generateRandomStringOfBaseTenChars = generateRandomStringOfBaseTenChars;
14
+ //# sourceMappingURL=generate-random-string-of-base-ten-chars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-random-string-of-base-ten-chars.js","sources":["../../../../src/simul/reference-data/isin-generator/generate-random-string-of-base-ten-chars.ts"],"sourcesContent":["import { generateRandomBaseTenNumber } from \"./generate-random-base-ten-number\";\n\nexport const generateRandomStringOfBaseTenChars = () => {\n let string = \"\";\n for (let i = 0; i < 6; i++) {\n string = string + generateRandomBaseTenNumber();\n }\n return string;\n};\n"],"names":["generateRandomBaseTenNumber"],"mappings":";;;;AAEO,MAAM,qCAAqC,MAAM;AACtD,EAAA,IAAI,MAAS,GAAA,EAAA;AACb,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,CAAA,EAAG,CAAK,EAAA,EAAA;AAC1B,IAAA,MAAA,GAAS,SAASA,uDAA4B,EAAA;AAAA;AAEhD,EAAO,OAAA,MAAA;AACT;;;;"}
@@ -0,0 +1,295 @@
1
+ 'use strict';
2
+
3
+ var generateCusip = require('./generate-cusip.js');
4
+
5
+ const countryCodes = [
6
+ "AD",
7
+ "AE",
8
+ "AF",
9
+ "AG",
10
+ "AI",
11
+ "AL",
12
+ "AM",
13
+ "AO",
14
+ "AQ",
15
+ "AR",
16
+ "AS",
17
+ "AT",
18
+ "AU",
19
+ "AW",
20
+ "AX",
21
+ "AZ",
22
+ "BA",
23
+ "BB",
24
+ "BD",
25
+ "BE",
26
+ "BF",
27
+ "BG",
28
+ "BH",
29
+ "BI",
30
+ "BJ",
31
+ "BL",
32
+ "BM",
33
+ "BN",
34
+ "BO",
35
+ "BQ",
36
+ "BR",
37
+ "BS",
38
+ "BT",
39
+ "BV",
40
+ "BW",
41
+ "BY",
42
+ "BZ",
43
+ "CA",
44
+ "CC",
45
+ "CD",
46
+ "CF",
47
+ "CG",
48
+ "CH",
49
+ "CI",
50
+ "CK",
51
+ "CL",
52
+ "CM",
53
+ "CN",
54
+ "CO",
55
+ "CR",
56
+ "CU",
57
+ "CV",
58
+ "CW",
59
+ "CX",
60
+ "CY",
61
+ "CZ",
62
+ "DE",
63
+ "DJ",
64
+ "DK",
65
+ "DM",
66
+ "DO",
67
+ "DZ",
68
+ "EC",
69
+ "EE",
70
+ "EG",
71
+ "EH",
72
+ "ER",
73
+ "ES",
74
+ "ET",
75
+ "FI",
76
+ "FJ",
77
+ "FK",
78
+ "FM",
79
+ "FO",
80
+ "FR",
81
+ "GA",
82
+ "GB",
83
+ "GD",
84
+ "GE",
85
+ "GF",
86
+ "GG",
87
+ "GH",
88
+ "GI",
89
+ "GL",
90
+ "GM",
91
+ "GN",
92
+ "GP",
93
+ "GQ",
94
+ "GR",
95
+ "GS",
96
+ "GT",
97
+ "GU",
98
+ "GW",
99
+ "GY",
100
+ "HK",
101
+ "HM",
102
+ "HN",
103
+ "HR",
104
+ "HT",
105
+ "HU",
106
+ "ID",
107
+ "IE",
108
+ "IL",
109
+ "IM",
110
+ "IN",
111
+ "IO",
112
+ "IQ",
113
+ "IR",
114
+ "IS",
115
+ "IT",
116
+ "JE",
117
+ "JM",
118
+ "JO",
119
+ "JP",
120
+ "KE",
121
+ "KG",
122
+ "KH",
123
+ "KI",
124
+ "KM",
125
+ "KN",
126
+ "KP",
127
+ "KR",
128
+ "KW",
129
+ "KY",
130
+ "KZ",
131
+ "LA",
132
+ "LB",
133
+ "LC",
134
+ "LI",
135
+ "LK",
136
+ "LR",
137
+ "LS",
138
+ "LT",
139
+ "LU",
140
+ "LV",
141
+ "LY",
142
+ "MA",
143
+ "MC",
144
+ "MD",
145
+ "ME",
146
+ "MF",
147
+ "MG",
148
+ "MH",
149
+ "MK",
150
+ "ML",
151
+ "MM",
152
+ "MN",
153
+ "MO",
154
+ "MP",
155
+ "MQ",
156
+ "MR",
157
+ "MS",
158
+ "MT",
159
+ "MU",
160
+ "MV",
161
+ "MW",
162
+ "MX",
163
+ "MY",
164
+ "MZ",
165
+ "NA",
166
+ "NC",
167
+ "NE",
168
+ "NF",
169
+ "NG",
170
+ "NI",
171
+ "NL",
172
+ "NO",
173
+ "NP",
174
+ "NR",
175
+ "NU",
176
+ "NZ",
177
+ "OM",
178
+ "PA",
179
+ "PE",
180
+ "PF",
181
+ "PG",
182
+ "PH",
183
+ "PK",
184
+ "PL",
185
+ "PM",
186
+ "PN",
187
+ "PR",
188
+ "PS",
189
+ "PT",
190
+ "PW",
191
+ "PY",
192
+ "QA",
193
+ "RE",
194
+ "RO",
195
+ "RS",
196
+ "RU",
197
+ "RW",
198
+ "SA",
199
+ "SB",
200
+ "SC",
201
+ "SD",
202
+ "SE",
203
+ "SG",
204
+ "SH",
205
+ "SI",
206
+ "SJ",
207
+ "SK",
208
+ "SL",
209
+ "SM",
210
+ "SN",
211
+ "SO",
212
+ "SR",
213
+ "SS",
214
+ "ST",
215
+ "SV",
216
+ "SX",
217
+ "SY",
218
+ "SZ",
219
+ "TC",
220
+ "TD",
221
+ "TF",
222
+ "TG",
223
+ "TH",
224
+ "TJ",
225
+ "TK",
226
+ "TL",
227
+ "TM",
228
+ "TN",
229
+ "TO",
230
+ "TR",
231
+ "TT",
232
+ "TV",
233
+ "TW",
234
+ "TZ",
235
+ "UA",
236
+ "UG",
237
+ "UM",
238
+ "US",
239
+ "UY",
240
+ "UZ",
241
+ "VA",
242
+ "VC",
243
+ "VE",
244
+ "VG",
245
+ "VI",
246
+ "VN",
247
+ "VU",
248
+ "WF",
249
+ "WS",
250
+ "YE",
251
+ "YT",
252
+ "ZA",
253
+ "ZM",
254
+ "ZW"
255
+ ];
256
+ const cusip = generateCusip.generateCusip();
257
+ const generateIsin = (cusip2) => {
258
+ const code = countryCodes[Math.floor(Math.random() * countryCodes.length)];
259
+ const isin = code + cusip2 + generateIsinCheckDigit(code + cusip2 + "0");
260
+ return isin;
261
+ };
262
+ const generateIsinCheckDigit = (isin) => {
263
+ if (isin.length != 12) return false;
264
+ const v = [];
265
+ for (let i = isin.length - 2; i >= 0; i--) {
266
+ const c = isin.charAt(i);
267
+ if (isNaN(parseInt(c))) {
268
+ const letterCode = isin.charCodeAt(i) - 55;
269
+ v.push(letterCode % 10);
270
+ if (letterCode > 9) {
271
+ v.push(Math.floor(letterCode / 10));
272
+ }
273
+ } else {
274
+ v.push(Number(c));
275
+ }
276
+ }
277
+ let sum = 0;
278
+ const l = v.length;
279
+ for (let i = 0; i < l; i++) {
280
+ if (i % 2 == 0) {
281
+ const d = v[i] * 2;
282
+ sum += Math.floor(d / 10);
283
+ sum += d % 10;
284
+ } else {
285
+ sum += v[i];
286
+ }
287
+ }
288
+ return (10 - sum % 10) % 10;
289
+ };
290
+ const isinGenerator = () => {
291
+ return generateIsin(cusip);
292
+ };
293
+
294
+ exports.isinGenerator = isinGenerator;
295
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/simul/reference-data/isin-generator/index.ts"],"sourcesContent":["/**\n * all code in here taken from @thomaschaplin\n * https://github.com/thomaschaplin/isin-generator\n * https://github.com/thomaschaplin/cusip-generator\n */\nimport { generateCusip } from \"./generate-cusip\";\nconst countryCodes = [\n \"AD\",\n \"AE\",\n \"AF\",\n \"AG\",\n \"AI\",\n \"AL\",\n \"AM\",\n \"AO\",\n \"AQ\",\n \"AR\",\n \"AS\",\n \"AT\",\n \"AU\",\n \"AW\",\n \"AX\",\n \"AZ\",\n \"BA\",\n \"BB\",\n \"BD\",\n \"BE\",\n \"BF\",\n \"BG\",\n \"BH\",\n \"BI\",\n \"BJ\",\n \"BL\",\n \"BM\",\n \"BN\",\n \"BO\",\n \"BQ\",\n \"BR\",\n \"BS\",\n \"BT\",\n \"BV\",\n \"BW\",\n \"BY\",\n \"BZ\",\n \"CA\",\n \"CC\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CH\",\n \"CI\",\n \"CK\",\n \"CL\",\n \"CM\",\n \"CN\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CV\",\n \"CW\",\n \"CX\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DJ\",\n \"DK\",\n \"DM\",\n \"DO\",\n \"DZ\",\n \"EC\",\n \"EE\",\n \"EG\",\n \"EH\",\n \"ER\",\n \"ES\",\n \"ET\",\n \"FI\",\n \"FJ\",\n \"FK\",\n \"FM\",\n \"FO\",\n \"FR\",\n \"GA\",\n \"GB\",\n \"GD\",\n \"GE\",\n \"GF\",\n \"GG\",\n \"GH\",\n \"GI\",\n \"GL\",\n \"GM\",\n \"GN\",\n \"GP\",\n \"GQ\",\n \"GR\",\n \"GS\",\n \"GT\",\n \"GU\",\n \"GW\",\n \"GY\",\n \"HK\",\n \"HM\",\n \"HN\",\n \"HR\",\n \"HT\",\n \"HU\",\n \"ID\",\n \"IE\",\n \"IL\",\n \"IM\",\n \"IN\",\n \"IO\",\n \"IQ\",\n \"IR\",\n \"IS\",\n \"IT\",\n \"JE\",\n \"JM\",\n \"JO\",\n \"JP\",\n \"KE\",\n \"KG\",\n \"KH\",\n \"KI\",\n \"KM\",\n \"KN\",\n \"KP\",\n \"KR\",\n \"KW\",\n \"KY\",\n \"KZ\",\n \"LA\",\n \"LB\",\n \"LC\",\n \"LI\",\n \"LK\",\n \"LR\",\n \"LS\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"LY\",\n \"MA\",\n \"MC\",\n \"MD\",\n \"ME\",\n \"MF\",\n \"MG\",\n \"MH\",\n \"MK\",\n \"ML\",\n \"MM\",\n \"MN\",\n \"MO\",\n \"MP\",\n \"MQ\",\n \"MR\",\n \"MS\",\n \"MT\",\n \"MU\",\n \"MV\",\n \"MW\",\n \"MX\",\n \"MY\",\n \"MZ\",\n \"NA\",\n \"NC\",\n \"NE\",\n \"NF\",\n \"NG\",\n \"NI\",\n \"NL\",\n \"NO\",\n \"NP\",\n \"NR\",\n \"NU\",\n \"NZ\",\n \"OM\",\n \"PA\",\n \"PE\",\n \"PF\",\n \"PG\",\n \"PH\",\n \"PK\",\n \"PL\",\n \"PM\",\n \"PN\",\n \"PR\",\n \"PS\",\n \"PT\",\n \"PW\",\n \"PY\",\n \"QA\",\n \"RE\",\n \"RO\",\n \"RS\",\n \"RU\",\n \"RW\",\n \"SA\",\n \"SB\",\n \"SC\",\n \"SD\",\n \"SE\",\n \"SG\",\n \"SH\",\n \"SI\",\n \"SJ\",\n \"SK\",\n \"SL\",\n \"SM\",\n \"SN\",\n \"SO\",\n \"SR\",\n \"SS\",\n \"ST\",\n \"SV\",\n \"SX\",\n \"SY\",\n \"SZ\",\n \"TC\",\n \"TD\",\n \"TF\",\n \"TG\",\n \"TH\",\n \"TJ\",\n \"TK\",\n \"TL\",\n \"TM\",\n \"TN\",\n \"TO\",\n \"TR\",\n \"TT\",\n \"TV\",\n \"TW\",\n \"TZ\",\n \"UA\",\n \"UG\",\n \"UM\",\n \"US\",\n \"UY\",\n \"UZ\",\n \"VA\",\n \"VC\",\n \"VE\",\n \"VG\",\n \"VI\",\n \"VN\",\n \"VU\",\n \"WF\",\n \"WS\",\n \"YE\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\",\n];\n\nconst cusip = generateCusip();\n\nconst generateIsin = (cusip: string) => {\n const code = countryCodes[Math.floor(Math.random() * countryCodes.length)];\n const isin = code + cusip + generateIsinCheckDigit(code + cusip + \"0\");\n return isin;\n};\n\nconst generateIsinCheckDigit = (isin: string) => {\n if (isin.length != 12) return false;\n const v = [];\n for (let i = isin.length - 2; i >= 0; i--) {\n const c = isin.charAt(i);\n if (isNaN(parseInt(c))) {\n const letterCode = isin.charCodeAt(i) - 55;\n v.push(letterCode % 10);\n if (letterCode > 9) {\n v.push(Math.floor(letterCode / 10));\n }\n } else {\n v.push(Number(c));\n }\n }\n let sum = 0;\n const l = v.length;\n for (let i = 0; i < l; i++) {\n if (i % 2 == 0) {\n const d = v[i] * 2;\n sum += Math.floor(d / 10);\n sum += d % 10;\n } else {\n sum += v[i];\n }\n }\n return (10 - (sum % 10)) % 10;\n};\n\nexport const isinGenerator = () => {\n return generateIsin(cusip);\n};\n"],"names":["generateCusip","cusip"],"mappings":";;;;AAMA,MAAM,YAAe,GAAA;AAAA,EACnB,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA;AAEA,MAAM,QAAQA,2BAAc,EAAA;AAE5B,MAAM,YAAA,GAAe,CAACC,MAAkB,KAAA;AACtC,EAAM,MAAA,IAAA,GAAO,aAAa,IAAK,CAAA,KAAA,CAAM,KAAK,MAAO,EAAA,GAAI,YAAa,CAAA,MAAM,CAAC,CAAA;AACzE,EAAA,MAAM,OAAO,IAAOA,GAAAA,MAAAA,GAAQ,sBAAuB,CAAA,IAAA,GAAOA,SAAQ,GAAG,CAAA;AACrE,EAAO,OAAA,IAAA;AACT,CAAA;AAEA,MAAM,sBAAA,GAAyB,CAAC,IAAiB,KAAA;AAC/C,EAAI,IAAA,IAAA,CAAK,MAAU,IAAA,EAAA,EAAW,OAAA,KAAA;AAC9B,EAAA,MAAM,IAAI,EAAC;AACX,EAAA,KAAA,IAAS,IAAI,IAAK,CAAA,MAAA,GAAS,CAAG,EAAA,CAAA,IAAK,GAAG,CAAK,EAAA,EAAA;AACzC,IAAM,MAAA,CAAA,GAAI,IAAK,CAAA,MAAA,CAAO,CAAC,CAAA;AACvB,IAAA,IAAI,KAAM,CAAA,QAAA,CAAS,CAAC,CAAC,CAAG,EAAA;AACtB,MAAA,MAAM,UAAa,GAAA,IAAA,CAAK,UAAW,CAAA,CAAC,CAAI,GAAA,EAAA;AACxC,MAAE,CAAA,CAAA,IAAA,CAAK,aAAa,EAAE,CAAA;AACtB,MAAA,IAAI,aAAa,CAAG,EAAA;AAClB,QAAA,CAAA,CAAE,IAAK,CAAA,IAAA,CAAK,KAAM,CAAA,UAAA,GAAa,EAAE,CAAC,CAAA;AAAA;AACpC,KACK,MAAA;AACL,MAAE,CAAA,CAAA,IAAA,CAAK,MAAO,CAAA,CAAC,CAAC,CAAA;AAAA;AAClB;AAEF,EAAA,IAAI,GAAM,GAAA,CAAA;AACV,EAAA,MAAM,IAAI,CAAE,CAAA,MAAA;AACZ,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,CAAA,EAAG,CAAK,EAAA,EAAA;AAC1B,IAAI,IAAA,CAAA,GAAI,KAAK,CAAG,EAAA;AACd,MAAM,MAAA,CAAA,GAAI,CAAE,CAAA,CAAC,CAAI,GAAA,CAAA;AACjB,MAAO,GAAA,IAAA,IAAA,CAAK,KAAM,CAAA,CAAA,GAAI,EAAE,CAAA;AACxB,MAAA,GAAA,IAAO,CAAI,GAAA,EAAA;AAAA,KACN,MAAA;AACL,MAAA,GAAA,IAAO,EAAE,CAAC,CAAA;AAAA;AACZ;AAEF,EAAQ,OAAA,CAAA,EAAA,GAAM,MAAM,EAAO,IAAA,EAAA;AAC7B,CAAA;AAEO,MAAM,gBAAgB,MAAM;AACjC,EAAA,OAAO,aAAa,KAAK,CAAA;AAC3B;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ const isOdd = (value) => value % 2 === 1;
4
+
5
+ exports.isOdd = isOdd;
6
+ //# sourceMappingURL=is-odd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-odd.js","sources":["../../../../src/simul/reference-data/isin-generator/is-odd.ts"],"sourcesContent":["export const isOdd = (value: number): boolean => value % 2 === 1;\n"],"names":[],"mappings":";;AAAO,MAAM,KAAQ,GAAA,CAAC,KAA2B,KAAA,KAAA,GAAQ,CAAM,KAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { isinGenerator } from '@thomaschaplin/isin-generator';
1
+ import { isinGenerator } from './isin-generator/index.js';
2
2
  import { currencies } from './currencies.js';
3
3
  import { suffixes, locations } from './locations.js';
4
4
  import { lotsizes } from './lotsizes.js';
@@ -1 +1 @@
1
- {"version":3,"file":"instruments.js","sources":["../../../src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"@thomaschaplin/isin-generator\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap, Table } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = number;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n ric,\n price,\n date\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n ric: 6,\n price: 7,\n date: 8\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return price / multiplier;\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n const date = new Date().getTime();\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n ric,\n price,\n date\n ]);\n count++;\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = new Table(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\")\n);\n\nexport { instrumentsData };\n"],"names":[],"mappings":";;;;;;;;AA6BO,MAAM,mBAAsB,GAAA;AAAA,EACjC,GAAK,EAAA,CAAA;AAAA,EACL,QAAU,EAAA,CAAA;AAAA,EACV,WAAa,EAAA,CAAA;AAAA,EACb,QAAU,EAAA,CAAA;AAAA,EACV,MAAQ,EAAA,CAAA;AAAA,EACR,MAAQ,EAAA,CAAA;AAAA,EACR,GAAK,EAAA,CAAA;AAAA,EACL,KAAO,EAAA,CAAA;AAAA,EACP,IAAM,EAAA;AACR;AAEA,MAAM,kBAAwC;AAE9C,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AAEtC,MAAM,cAAc,MAAM;AACxB,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,CAAA,EAAG,GAAK,CAAA;AAC7B,EAAM,MAAA,UAAA,GAAa,MAAO,CAAA,CAAA,EAAG,EAAE,CAAA;AAC/B,EAAA,OAAO,KAAQ,GAAA,UAAA;AACjB,CAAA;AAIA,IAAI,KAAQ,GAAA,CAAA;AACZ,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,EAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,IAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,MAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,QAAM,MAAA,MAAA,GAAS,QAAS,CAAA,KAAA,GAAQ,CAAC,CAAA;AACjC,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAM,MAAA,WAAA,GAAc,GAAG,GAAG,CAAA,YAAA,CAAA;AAC1B,QAAA,MAAM,QAAW,GAAA,UAAA,CAAW,MAAO,CAAA,CAAA,EAAG,CAAC,CAAC,CAAA;AACxC,QAAA,MAAM,OAAO,aAAc,EAAA;AAC3B,QAAA,MAAM,UAAU,QAAS,CAAA,MAAA,CAAO,GAAG,QAAS,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAEvD,QAAA,MAAM,QAAW,GAAA,SAAA,CAAU,MAAM,CAAA,CAAE,CAAC,CAAA;AACpC,QAAA,MAAM,QAAQ,WAAY,EAAA;AAC1B,QAAA,MAAM,IAAO,GAAA,iBAAA,IAAI,IAAK,EAAA,EAAE,OAAQ,EAAA;AAEhC,QAAA,eAAA,CAAgB,IAAK,CAAA;AAAA,UACnB,GAAA;AAAA,UACA,QAAA;AAAA,UACA,WAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAO,IAAI,CAAA;AAAA,UACX,OAAA;AAAA,UACA,GAAA;AAAA,UACA,KAAA;AAAA,UACA;AAAA,SACD,CAAA;AACD,QAAA,KAAA,EAAA;AAAA;AACF;AACF;AAEJ;AAKa,MAAA,MAAA,GAAS,CAAC,UAAuB,KAAA;AAC5C,EAAA,MAAM,MAAM,eAAgB,CAAA,EAAA,CAAG,OAAO,CAAG,EAAA,eAAA,CAAgB,MAAM,CAAC,CAAA;AAChE,EAAO,OAAA,GAAA,GAAM,mBAAoB,CAAA,GAAG,CAAK,IAAA,UAAA;AAC3C;AAEO,MAAM,mBAAmB,IAAI,KAAA;AAAA,EAClC,OAAQ,CAAA,WAAA;AAAA,EACR,eAAA;AAAA,EACA,kBAAA,CAAmB,SAAS,aAAa;AAC3C;;;;"}
1
+ {"version":3,"file":"instruments.js","sources":["../../../src/simul/reference-data/instruments.ts"],"sourcesContent":["import { isinGenerator } from \"./isin-generator\";\nimport { currencies } from \"./currencies\";\nimport { locations, suffixes } from \"./locations\";\nimport { lotsizes } from \"./lotsizes\";\nimport { random } from \"../../data-utils\";\nimport { buildDataColumnMap, Table } from \"../../Table\";\nimport { schemas } from \"../simul-schemas\";\n\nexport type bbg = string;\nexport type currency = string;\nexport type ric = string;\nexport type description = string;\nexport type exchange = string;\n// seed for price generation\nexport type price = number;\nexport type date = number;\n\nexport type InstrumentsDataRow = [\n bbg,\n currency,\n description,\n exchange,\n string,\n number,\n ric,\n price,\n date,\n];\n\nexport const InstrumentColumnMap = {\n bbg: 0,\n currency: 1,\n description: 2,\n exchange: 3,\n string: 4,\n number: 5,\n ric: 6,\n price: 7,\n date: 8,\n} as const;\n\nconst instrumentsData: InstrumentsDataRow[] = [];\n\nconst chars1 = Array.from(\"ABCEFGHKMN\");\nconst chars2 = Array.from(\"ABCEFGHKMN\");\nconst chars3 = Array.from(\"OPQRTUVWYZ\");\nconst chars4 = Array.from(\"OPQRTUVWYZ\");\n\nconst randomPrice = () => {\n const price = random(0, 10000);\n const multiplier = random(1, 10);\n return price / multiplier;\n};\n\n// const start = performance.now();\n// Create 10_000 Instruments\nlet count = 0;\nfor (const char1 of chars1) {\n for (const char2 of chars2) {\n for (const char3 of chars3) {\n for (const char4 of chars4) {\n const suffix = suffixes[count % 8];\n const ric = char1 + char2 + char3 + char4 + \".\" + suffix;\n const bbg = char1 + char2 + char3 + char4 + \" \" + suffix;\n const description = `${ric} description`;\n const currency = currencies[random(0, 4)];\n const isin = isinGenerator();\n const lotSize = lotsizes[random(0, lotsizes.length - 1)];\n\n const exchange = locations[suffix][1];\n const price = randomPrice();\n const date = new Date().getTime();\n\n instrumentsData.push([\n bbg,\n currency,\n description,\n exchange,\n String(isin),\n lotSize,\n ric,\n price,\n date,\n ]);\n count++;\n }\n }\n }\n}\n\n// const end = performance.now();\n// console.log(`generating 10,000 instruments took ${end - start} ms`);\n\nexport const getRic = (defaultRic: string) => {\n const row = instrumentsData.at(random(0, instrumentsData.length));\n return row?.[InstrumentColumnMap.ric] ?? defaultRic;\n};\n\nexport const instrumentsTable = new Table(\n schemas.instruments,\n instrumentsData,\n buildDataColumnMap(schemas, \"instruments\"),\n);\n\nexport { instrumentsData };\n"],"names":[],"mappings":";;;;;;;;AA6BO,MAAM,mBAAsB,GAAA;AAAA,EACjC,GAAK,EAAA,CAAA;AAAA,EACL,QAAU,EAAA,CAAA;AAAA,EACV,WAAa,EAAA,CAAA;AAAA,EACb,QAAU,EAAA,CAAA;AAAA,EACV,MAAQ,EAAA,CAAA;AAAA,EACR,MAAQ,EAAA,CAAA;AAAA,EACR,GAAK,EAAA,CAAA;AAAA,EACL,KAAO,EAAA,CAAA;AAAA,EACP,IAAM,EAAA;AACR;AAEA,MAAM,kBAAwC;AAE9C,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AACtC,MAAM,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,YAAY,CAAA;AAEtC,MAAM,cAAc,MAAM;AACxB,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,CAAA,EAAG,GAAK,CAAA;AAC7B,EAAM,MAAA,UAAA,GAAa,MAAO,CAAA,CAAA,EAAG,EAAE,CAAA;AAC/B,EAAA,OAAO,KAAQ,GAAA,UAAA;AACjB,CAAA;AAIA,IAAI,KAAQ,GAAA,CAAA;AACZ,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,EAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,IAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,MAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,QAAM,MAAA,MAAA,GAAS,QAAS,CAAA,KAAA,GAAQ,CAAC,CAAA;AACjC,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAA,MAAM,GAAM,GAAA,KAAA,GAAQ,KAAQ,GAAA,KAAA,GAAQ,QAAQ,GAAM,GAAA,MAAA;AAClD,QAAM,MAAA,WAAA,GAAc,GAAG,GAAG,CAAA,YAAA,CAAA;AAC1B,QAAA,MAAM,QAAW,GAAA,UAAA,CAAW,MAAO,CAAA,CAAA,EAAG,CAAC,CAAC,CAAA;AACxC,QAAA,MAAM,OAAO,aAAc,EAAA;AAC3B,QAAA,MAAM,UAAU,QAAS,CAAA,MAAA,CAAO,GAAG,QAAS,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA;AAEvD,QAAA,MAAM,QAAW,GAAA,SAAA,CAAU,MAAM,CAAA,CAAE,CAAC,CAAA;AACpC,QAAA,MAAM,QAAQ,WAAY,EAAA;AAC1B,QAAA,MAAM,IAAO,GAAA,iBAAA,IAAI,IAAK,EAAA,EAAE,OAAQ,EAAA;AAEhC,QAAA,eAAA,CAAgB,IAAK,CAAA;AAAA,UACnB,GAAA;AAAA,UACA,QAAA;AAAA,UACA,WAAA;AAAA,UACA,QAAA;AAAA,UACA,OAAO,IAAI,CAAA;AAAA,UACX,OAAA;AAAA,UACA,GAAA;AAAA,UACA,KAAA;AAAA,UACA;AAAA,SACD,CAAA;AACD,QAAA,KAAA,EAAA;AAAA;AACF;AACF;AAEJ;AAKa,MAAA,MAAA,GAAS,CAAC,UAAuB,KAAA;AAC5C,EAAA,MAAM,MAAM,eAAgB,CAAA,EAAA,CAAG,OAAO,CAAG,EAAA,eAAA,CAAgB,MAAM,CAAC,CAAA;AAChE,EAAO,OAAA,GAAA,GAAM,mBAAoB,CAAA,GAAG,CAAK,IAAA,UAAA;AAC3C;AAEO,MAAM,mBAAmB,IAAI,KAAA;AAAA,EAClC,OAAQ,CAAA,WAAA;AAAA,EACR,eAAA;AAAA,EACA,kBAAA,CAAmB,SAAS,aAAa;AAC3C;;;;"}
@@ -0,0 +1,4 @@
1
+ const convertStringToBaseTenNumber = (value) => parseInt(value, 10);
2
+
3
+ export { convertStringToBaseTenNumber };
4
+ //# sourceMappingURL=convert-string-to-base-ten-number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-string-to-base-ten-number.js","sources":["../../../../src/simul/reference-data/isin-generator/convert-string-to-base-ten-number.ts"],"sourcesContent":["export const convertStringToBaseTenNumber = (value: string): number =>\n parseInt(value, 10);\n"],"names":[],"mappings":"AAAO,MAAM,4BAA+B,GAAA,CAAC,KAC3C,KAAA,QAAA,CAAS,OAAO,EAAE;;;;"}