@vuu-ui/vuu-data-test 0.8.33 → 0.8.34
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/cjs/_virtual/_commonjsHelpers.js +6 -0
- package/cjs/_virtual/_commonjsHelpers.js.map +1 -0
- package/cjs/_virtual/alphabet.js +6 -0
- package/cjs/_virtual/alphabet.js.map +1 -0
- package/cjs/_virtual/alphanumeric-values.js +6 -0
- package/cjs/_virtual/alphanumeric-values.js.map +1 -0
- package/cjs/_virtual/base-ten-numbers.js +6 -0
- package/cjs/_virtual/base-ten-numbers.js.map +1 -0
- package/cjs/_virtual/convert-string-to-base-ten-number.js +6 -0
- package/cjs/_virtual/convert-string-to-base-ten-number.js.map +1 -0
- package/cjs/_virtual/generate-cusip-check-code.js +6 -0
- package/cjs/_virtual/generate-cusip-check-code.js.map +1 -0
- package/cjs/_virtual/generate-cusip-without-check-code.js +6 -0
- package/cjs/_virtual/generate-cusip-without-check-code.js.map +1 -0
- package/cjs/_virtual/generate-cusip.js +6 -0
- package/cjs/_virtual/generate-cusip.js.map +1 -0
- package/cjs/_virtual/generate-random-alphanumeric.js +6 -0
- package/cjs/_virtual/generate-random-alphanumeric.js.map +1 -0
- package/cjs/_virtual/generate-random-base-ten-number.js +6 -0
- package/cjs/_virtual/generate-random-base-ten-number.js.map +1 -0
- package/cjs/_virtual/generate-random-string-of-alphanumeric-chars.js +6 -0
- package/cjs/_virtual/generate-random-string-of-alphanumeric-chars.js.map +1 -0
- package/cjs/_virtual/generate-random-string-of-base-ten-chars.js +6 -0
- package/cjs/_virtual/generate-random-string-of-base-ten-chars.js.map +1 -0
- package/cjs/_virtual/index.js +6 -0
- package/cjs/_virtual/index.js.map +1 -0
- package/cjs/_virtual/is-odd.js +6 -0
- package/cjs/_virtual/is-odd.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/convert-string-to-base-ten-number.js +13 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/convert-string-to-base-ten-number.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/fixtures/alphabet.js +35 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/fixtures/alphabet.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/fixtures/alphanumeric-values.js +42 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/fixtures/alphanumeric-values.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/fixtures/base-ten-numbers.js +21 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/fixtures/base-ten-numbers.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip-check-code.js +36 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip-check-code.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip-without-check-code.js +21 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip-without-check-code.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip.js +21 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-random-alphanumeric.js +16 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-random-alphanumeric.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-random-base-ten-number.js +13 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-random-base-ten-number.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-random-string-of-alphanumeric-chars.js +20 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-random-string-of-alphanumeric-chars.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-random-string-of-base-ten-chars.js +20 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/generate-random-string-of-base-ten-chars.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/index.js +14 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/index.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/is-odd.js +11 -0
- package/cjs/node_modules/@thomaschaplin/cusip-generator/build/is-odd.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/isin-generator/country-codes.json.js +256 -0
- package/cjs/node_modules/@thomaschaplin/isin-generator/country-codes.json.js.map +1 -0
- package/cjs/node_modules/@thomaschaplin/isin-generator/index.js +52 -0
- package/cjs/node_modules/@thomaschaplin/isin-generator/index.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/ArrayProxy.js +80 -0
- package/cjs/packages/vuu-data-test/src/ArrayProxy.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/Table.js +186 -0
- package/cjs/packages/vuu-data-test/src/Table.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/TickingArrayDataSource.js +134 -0
- package/cjs/packages/vuu-data-test/src/TickingArrayDataSource.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/UpdateGenerator.js +87 -0
- package/cjs/packages/vuu-data-test/src/UpdateGenerator.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/basket/basket-module.js +236 -0
- package/cjs/packages/vuu-data-test/src/basket/basket-module.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/basket/basket-schemas.js +121 -0
- package/cjs/packages/vuu-data-test/src/basket/basket-schemas.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/constituents.js +40 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/constituents.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/ftse100.js +105 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/ftse100.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/hsi.js +87 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/hsi.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/nasdaq100.js +108 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/nasdaq100.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/prices.js +51 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/prices.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/sp500.js +46 -0
- package/cjs/packages/vuu-data-test/src/basket/reference-data/sp500.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/data-utils.js +58 -0
- package/cjs/packages/vuu-data-test/src/data-utils.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/index.js +36 -0
- package/cjs/packages/vuu-data-test/src/index.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/makeSuggestions.js +37 -0
- package/cjs/packages/vuu-data-test/src/makeSuggestions.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/schemas.js +28 -0
- package/cjs/packages/vuu-data-test/src/schemas.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/currencies.js +6 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/currencies.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/instruments-extended.js +18 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/instruments-extended.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/instruments.js +74 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/instruments.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/locations.js +17 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/locations.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/lotsizes.js +28 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/lotsizes.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/orders.js +43 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/orders.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/prices.js +71 -0
- package/cjs/packages/vuu-data-test/src/simul/reference-data/prices.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/simul/simul-module.js +72 -0
- package/cjs/packages/vuu-data-test/src/simul/simul-module.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/simul/simul-schemas.js +137 -0
- package/cjs/packages/vuu-data-test/src/simul/simul-schemas.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/test/test-module.js +58 -0
- package/cjs/packages/vuu-data-test/src/test/test-module.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/test/test-schemas.js +17 -0
- package/cjs/packages/vuu-data-test/src/test/test-schemas.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/vuu-modules.js +15 -0
- package/cjs/packages/vuu-data-test/src/vuu-modules.js.map +1 -0
- package/cjs/packages/vuu-data-test/src/vuu-row-generator.js +74 -0
- package/cjs/packages/vuu-data-test/src/vuu-row-generator.js.map +1 -0
- package/esm/_virtual/_commonjsHelpers.js +4 -0
- package/esm/_virtual/_commonjsHelpers.js.map +1 -0
- package/esm/_virtual/alphabet.js +4 -0
- package/esm/_virtual/alphabet.js.map +1 -0
- package/esm/_virtual/alphanumeric-values.js +4 -0
- package/esm/_virtual/alphanumeric-values.js.map +1 -0
- package/esm/_virtual/base-ten-numbers.js +4 -0
- package/esm/_virtual/base-ten-numbers.js.map +1 -0
- package/esm/_virtual/convert-string-to-base-ten-number.js +4 -0
- package/esm/_virtual/convert-string-to-base-ten-number.js.map +1 -0
- package/esm/_virtual/generate-cusip-check-code.js +4 -0
- package/esm/_virtual/generate-cusip-check-code.js.map +1 -0
- package/esm/_virtual/generate-cusip-without-check-code.js +4 -0
- package/esm/_virtual/generate-cusip-without-check-code.js.map +1 -0
- package/esm/_virtual/generate-cusip.js +4 -0
- package/esm/_virtual/generate-cusip.js.map +1 -0
- package/esm/_virtual/generate-random-alphanumeric.js +4 -0
- package/esm/_virtual/generate-random-alphanumeric.js.map +1 -0
- package/esm/_virtual/generate-random-base-ten-number.js +4 -0
- package/esm/_virtual/generate-random-base-ten-number.js.map +1 -0
- package/esm/_virtual/generate-random-string-of-alphanumeric-chars.js +4 -0
- package/esm/_virtual/generate-random-string-of-alphanumeric-chars.js.map +1 -0
- package/esm/_virtual/generate-random-string-of-base-ten-chars.js +4 -0
- package/esm/_virtual/generate-random-string-of-base-ten-chars.js.map +1 -0
- package/esm/_virtual/index.js +4 -0
- package/esm/_virtual/index.js.map +1 -0
- package/esm/_virtual/is-odd.js +4 -0
- package/esm/_virtual/is-odd.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/convert-string-to-base-ten-number.js +11 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/convert-string-to-base-ten-number.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/fixtures/alphabet.js +33 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/fixtures/alphabet.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/fixtures/alphanumeric-values.js +40 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/fixtures/alphanumeric-values.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/fixtures/base-ten-numbers.js +19 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/fixtures/base-ten-numbers.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip-check-code.js +34 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip-check-code.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip-without-check-code.js +19 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip-without-check-code.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip.js +19 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-cusip.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-random-alphanumeric.js +14 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-random-alphanumeric.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-random-base-ten-number.js +11 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-random-base-ten-number.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-random-string-of-alphanumeric-chars.js +18 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-random-string-of-alphanumeric-chars.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-random-string-of-base-ten-chars.js +18 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/generate-random-string-of-base-ten-chars.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/index.js +12 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/index.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/is-odd.js +9 -0
- package/esm/node_modules/@thomaschaplin/cusip-generator/build/is-odd.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/isin-generator/country-codes.json.js +254 -0
- package/esm/node_modules/@thomaschaplin/isin-generator/country-codes.json.js.map +1 -0
- package/esm/node_modules/@thomaschaplin/isin-generator/index.js +50 -0
- package/esm/node_modules/@thomaschaplin/isin-generator/index.js.map +1 -0
- package/esm/packages/vuu-data-test/src/ArrayProxy.js +78 -0
- package/esm/packages/vuu-data-test/src/ArrayProxy.js.map +1 -0
- package/esm/packages/vuu-data-test/src/Table.js +182 -0
- package/esm/packages/vuu-data-test/src/Table.js.map +1 -0
- package/esm/packages/vuu-data-test/src/TickingArrayDataSource.js +132 -0
- package/esm/packages/vuu-data-test/src/TickingArrayDataSource.js.map +1 -0
- package/esm/packages/vuu-data-test/src/UpdateGenerator.js +85 -0
- package/esm/packages/vuu-data-test/src/UpdateGenerator.js.map +1 -0
- package/esm/packages/vuu-data-test/src/basket/basket-module.js +232 -0
- package/esm/packages/vuu-data-test/src/basket/basket-module.js.map +1 -0
- package/esm/packages/vuu-data-test/src/basket/basket-schemas.js +119 -0
- package/esm/packages/vuu-data-test/src/basket/basket-schemas.js.map +1 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/constituents.js +38 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/constituents.js.map +1 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/ftse100.js +103 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/ftse100.js.map +1 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/hsi.js +85 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/hsi.js.map +1 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/nasdaq100.js +106 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/nasdaq100.js.map +1 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/prices.js +49 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/prices.js.map +1 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/sp500.js +44 -0
- package/esm/packages/vuu-data-test/src/basket/reference-data/sp500.js.map +1 -0
- package/esm/packages/vuu-data-test/src/data-utils.js +53 -0
- package/esm/packages/vuu-data-test/src/data-utils.js.map +1 -0
- package/esm/packages/vuu-data-test/src/index.js +11 -0
- package/esm/packages/vuu-data-test/src/index.js.map +1 -0
- package/esm/packages/vuu-data-test/src/makeSuggestions.js +35 -0
- package/esm/packages/vuu-data-test/src/makeSuggestions.js.map +1 -0
- package/esm/packages/vuu-data-test/src/schemas.js +24 -0
- package/esm/packages/vuu-data-test/src/schemas.js.map +1 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/currencies.js +4 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/currencies.js.map +1 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/instruments-extended.js +16 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/instruments-extended.js.map +1 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/instruments.js +69 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/instruments.js.map +1 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/locations.js +14 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/locations.js.map +1 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/lotsizes.js +26 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/lotsizes.js.map +1 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/orders.js +40 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/orders.js.map +1 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/prices.js +68 -0
- package/esm/packages/vuu-data-test/src/simul/reference-data/prices.js.map +1 -0
- package/esm/packages/vuu-data-test/src/simul/simul-module.js +70 -0
- package/esm/packages/vuu-data-test/src/simul/simul-module.js.map +1 -0
- package/esm/packages/vuu-data-test/src/simul/simul-schemas.js +135 -0
- package/esm/packages/vuu-data-test/src/simul/simul-schemas.js.map +1 -0
- package/esm/packages/vuu-data-test/src/test/test-module.js +56 -0
- package/esm/packages/vuu-data-test/src/test/test-module.js.map +1 -0
- package/esm/packages/vuu-data-test/src/test/test-schemas.js +15 -0
- package/esm/packages/vuu-data-test/src/test/test-schemas.js.map +1 -0
- package/esm/packages/vuu-data-test/src/vuu-modules.js +13 -0
- package/esm/packages/vuu-data-test/src/vuu-modules.js.map +1 -0
- package/esm/packages/vuu-data-test/src/vuu-row-generator.js +68 -0
- package/esm/packages/vuu-data-test/src/vuu-row-generator.js.map +1 -0
- package/package.json +8 -6
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var require$$0 = [
|
|
4
|
+
"AD",
|
|
5
|
+
"AE",
|
|
6
|
+
"AF",
|
|
7
|
+
"AG",
|
|
8
|
+
"AI",
|
|
9
|
+
"AL",
|
|
10
|
+
"AM",
|
|
11
|
+
"AO",
|
|
12
|
+
"AQ",
|
|
13
|
+
"AR",
|
|
14
|
+
"AS",
|
|
15
|
+
"AT",
|
|
16
|
+
"AU",
|
|
17
|
+
"AW",
|
|
18
|
+
"AX",
|
|
19
|
+
"AZ",
|
|
20
|
+
"BA",
|
|
21
|
+
"BB",
|
|
22
|
+
"BD",
|
|
23
|
+
"BE",
|
|
24
|
+
"BF",
|
|
25
|
+
"BG",
|
|
26
|
+
"BH",
|
|
27
|
+
"BI",
|
|
28
|
+
"BJ",
|
|
29
|
+
"BL",
|
|
30
|
+
"BM",
|
|
31
|
+
"BN",
|
|
32
|
+
"BO",
|
|
33
|
+
"BQ",
|
|
34
|
+
"BR",
|
|
35
|
+
"BS",
|
|
36
|
+
"BT",
|
|
37
|
+
"BV",
|
|
38
|
+
"BW",
|
|
39
|
+
"BY",
|
|
40
|
+
"BZ",
|
|
41
|
+
"CA",
|
|
42
|
+
"CC",
|
|
43
|
+
"CD",
|
|
44
|
+
"CF",
|
|
45
|
+
"CG",
|
|
46
|
+
"CH",
|
|
47
|
+
"CI",
|
|
48
|
+
"CK",
|
|
49
|
+
"CL",
|
|
50
|
+
"CM",
|
|
51
|
+
"CN",
|
|
52
|
+
"CO",
|
|
53
|
+
"CR",
|
|
54
|
+
"CU",
|
|
55
|
+
"CV",
|
|
56
|
+
"CW",
|
|
57
|
+
"CX",
|
|
58
|
+
"CY",
|
|
59
|
+
"CZ",
|
|
60
|
+
"DE",
|
|
61
|
+
"DJ",
|
|
62
|
+
"DK",
|
|
63
|
+
"DM",
|
|
64
|
+
"DO",
|
|
65
|
+
"DZ",
|
|
66
|
+
"EC",
|
|
67
|
+
"EE",
|
|
68
|
+
"EG",
|
|
69
|
+
"EH",
|
|
70
|
+
"ER",
|
|
71
|
+
"ES",
|
|
72
|
+
"ET",
|
|
73
|
+
"FI",
|
|
74
|
+
"FJ",
|
|
75
|
+
"FK",
|
|
76
|
+
"FM",
|
|
77
|
+
"FO",
|
|
78
|
+
"FR",
|
|
79
|
+
"GA",
|
|
80
|
+
"GB",
|
|
81
|
+
"GD",
|
|
82
|
+
"GE",
|
|
83
|
+
"GF",
|
|
84
|
+
"GG",
|
|
85
|
+
"GH",
|
|
86
|
+
"GI",
|
|
87
|
+
"GL",
|
|
88
|
+
"GM",
|
|
89
|
+
"GN",
|
|
90
|
+
"GP",
|
|
91
|
+
"GQ",
|
|
92
|
+
"GR",
|
|
93
|
+
"GS",
|
|
94
|
+
"GT",
|
|
95
|
+
"GU",
|
|
96
|
+
"GW",
|
|
97
|
+
"GY",
|
|
98
|
+
"HK",
|
|
99
|
+
"HM",
|
|
100
|
+
"HN",
|
|
101
|
+
"HR",
|
|
102
|
+
"HT",
|
|
103
|
+
"HU",
|
|
104
|
+
"ID",
|
|
105
|
+
"IE",
|
|
106
|
+
"IL",
|
|
107
|
+
"IM",
|
|
108
|
+
"IN",
|
|
109
|
+
"IO",
|
|
110
|
+
"IQ",
|
|
111
|
+
"IR",
|
|
112
|
+
"IS",
|
|
113
|
+
"IT",
|
|
114
|
+
"JE",
|
|
115
|
+
"JM",
|
|
116
|
+
"JO",
|
|
117
|
+
"JP",
|
|
118
|
+
"KE",
|
|
119
|
+
"KG",
|
|
120
|
+
"KH",
|
|
121
|
+
"KI",
|
|
122
|
+
"KM",
|
|
123
|
+
"KN",
|
|
124
|
+
"KP",
|
|
125
|
+
"KR",
|
|
126
|
+
"KW",
|
|
127
|
+
"KY",
|
|
128
|
+
"KZ",
|
|
129
|
+
"LA",
|
|
130
|
+
"LB",
|
|
131
|
+
"LC",
|
|
132
|
+
"LI",
|
|
133
|
+
"LK",
|
|
134
|
+
"LR",
|
|
135
|
+
"LS",
|
|
136
|
+
"LT",
|
|
137
|
+
"LU",
|
|
138
|
+
"LV",
|
|
139
|
+
"LY",
|
|
140
|
+
"MA",
|
|
141
|
+
"MC",
|
|
142
|
+
"MD",
|
|
143
|
+
"ME",
|
|
144
|
+
"MF",
|
|
145
|
+
"MG",
|
|
146
|
+
"MH",
|
|
147
|
+
"MK",
|
|
148
|
+
"ML",
|
|
149
|
+
"MM",
|
|
150
|
+
"MN",
|
|
151
|
+
"MO",
|
|
152
|
+
"MP",
|
|
153
|
+
"MQ",
|
|
154
|
+
"MR",
|
|
155
|
+
"MS",
|
|
156
|
+
"MT",
|
|
157
|
+
"MU",
|
|
158
|
+
"MV",
|
|
159
|
+
"MW",
|
|
160
|
+
"MX",
|
|
161
|
+
"MY",
|
|
162
|
+
"MZ",
|
|
163
|
+
"NA",
|
|
164
|
+
"NC",
|
|
165
|
+
"NE",
|
|
166
|
+
"NF",
|
|
167
|
+
"NG",
|
|
168
|
+
"NI",
|
|
169
|
+
"NL",
|
|
170
|
+
"NO",
|
|
171
|
+
"NP",
|
|
172
|
+
"NR",
|
|
173
|
+
"NU",
|
|
174
|
+
"NZ",
|
|
175
|
+
"OM",
|
|
176
|
+
"PA",
|
|
177
|
+
"PE",
|
|
178
|
+
"PF",
|
|
179
|
+
"PG",
|
|
180
|
+
"PH",
|
|
181
|
+
"PK",
|
|
182
|
+
"PL",
|
|
183
|
+
"PM",
|
|
184
|
+
"PN",
|
|
185
|
+
"PR",
|
|
186
|
+
"PS",
|
|
187
|
+
"PT",
|
|
188
|
+
"PW",
|
|
189
|
+
"PY",
|
|
190
|
+
"QA",
|
|
191
|
+
"RE",
|
|
192
|
+
"RO",
|
|
193
|
+
"RS",
|
|
194
|
+
"RU",
|
|
195
|
+
"RW",
|
|
196
|
+
"SA",
|
|
197
|
+
"SB",
|
|
198
|
+
"SC",
|
|
199
|
+
"SD",
|
|
200
|
+
"SE",
|
|
201
|
+
"SG",
|
|
202
|
+
"SH",
|
|
203
|
+
"SI",
|
|
204
|
+
"SJ",
|
|
205
|
+
"SK",
|
|
206
|
+
"SL",
|
|
207
|
+
"SM",
|
|
208
|
+
"SN",
|
|
209
|
+
"SO",
|
|
210
|
+
"SR",
|
|
211
|
+
"SS",
|
|
212
|
+
"ST",
|
|
213
|
+
"SV",
|
|
214
|
+
"SX",
|
|
215
|
+
"SY",
|
|
216
|
+
"SZ",
|
|
217
|
+
"TC",
|
|
218
|
+
"TD",
|
|
219
|
+
"TF",
|
|
220
|
+
"TG",
|
|
221
|
+
"TH",
|
|
222
|
+
"TJ",
|
|
223
|
+
"TK",
|
|
224
|
+
"TL",
|
|
225
|
+
"TM",
|
|
226
|
+
"TN",
|
|
227
|
+
"TO",
|
|
228
|
+
"TR",
|
|
229
|
+
"TT",
|
|
230
|
+
"TV",
|
|
231
|
+
"TW",
|
|
232
|
+
"TZ",
|
|
233
|
+
"UA",
|
|
234
|
+
"UG",
|
|
235
|
+
"UM",
|
|
236
|
+
"US",
|
|
237
|
+
"UY",
|
|
238
|
+
"UZ",
|
|
239
|
+
"VA",
|
|
240
|
+
"VC",
|
|
241
|
+
"VE",
|
|
242
|
+
"VG",
|
|
243
|
+
"VI",
|
|
244
|
+
"VN",
|
|
245
|
+
"VU",
|
|
246
|
+
"WF",
|
|
247
|
+
"WS",
|
|
248
|
+
"YE",
|
|
249
|
+
"YT",
|
|
250
|
+
"ZA",
|
|
251
|
+
"ZM",
|
|
252
|
+
"ZW"
|
|
253
|
+
];
|
|
254
|
+
|
|
255
|
+
module.exports = require$$0;
|
|
256
|
+
//# sourceMappingURL=country-codes.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"country-codes.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var countryCodes$1 = require('./country-codes.json.js');
|
|
4
|
+
require('../cusip-generator/build/index.js');
|
|
5
|
+
var index = require('../../../_virtual/index.js');
|
|
6
|
+
|
|
7
|
+
const countryCodes = countryCodes$1;
|
|
8
|
+
const cusip = index.__exports.generateCusip();
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
const generateIsin = cusip => {
|
|
12
|
+
let code = countryCodes[Math.floor(Math.random() * countryCodes.length)];
|
|
13
|
+
let isin = code + cusip + generateIsinCheckDigit(code + cusip + '0');
|
|
14
|
+
return isin
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const generateIsinCheckDigit = isin => {
|
|
18
|
+
if (isin.length != 12) return false;
|
|
19
|
+
var v = [];
|
|
20
|
+
for (var i = isin.length - 2; i >= 0; i--) {
|
|
21
|
+
let c = isin.charAt(i);
|
|
22
|
+
if (isNaN(c)) {
|
|
23
|
+
var letterCode = isin.charCodeAt(i) - 55;
|
|
24
|
+
v.push(letterCode % 10);
|
|
25
|
+
if (letterCode > 9) {
|
|
26
|
+
v.push(Math.floor(letterCode / 10));
|
|
27
|
+
}
|
|
28
|
+
} else {
|
|
29
|
+
v.push(Number(c));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
var sum = 0;
|
|
33
|
+
var l = v.length;
|
|
34
|
+
for (var i = 0; i < l; i++) {
|
|
35
|
+
if (i % 2 == 0) {
|
|
36
|
+
var d = v[i] * 2;
|
|
37
|
+
sum += Math.floor(d / 10);
|
|
38
|
+
sum += d % 10;
|
|
39
|
+
} else {
|
|
40
|
+
sum += v[i];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return (10 - (sum % 10)) % 10
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
var isinGenerator_1 = function isinGenerator() {
|
|
48
|
+
return generateIsin(cusip)
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
exports.isinGenerator = isinGenerator_1;
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/@thomaschaplin/isin-generator/index.js"],"sourcesContent":["'use-strict'\r\n\r\nconst countryCodes = require('./country-codes.json')\r\nconst cusip = require('@thomaschaplin/cusip-generator').generateCusip()\r\n\r\n\r\nconst generateIsin = cusip => {\r\n let code = countryCodes[Math.floor(Math.random() * countryCodes.length)]\r\n let isin = code + cusip + generateIsinCheckDigit(code + cusip + '0')\r\n return isin\r\n}\r\n\r\nconst generateIsinCheckDigit = isin => {\r\n if (isin.length != 12) return false;\r\n var v = [];\r\n for (var i = isin.length - 2; i >= 0; i--) {\r\n let c = isin.charAt(i);\r\n if (isNaN(c)) {\r\n var letterCode = isin.charCodeAt(i) - 55;\r\n v.push(letterCode % 10);\r\n if (letterCode > 9) {\r\n v.push(Math.floor(letterCode / 10));\r\n }\r\n } else {\r\n v.push(Number(c));\r\n }\r\n }\r\n var sum = 0;\r\n var l = v.length;\r\n for (var i = 0; i < l; i++) {\r\n if (i % 2 == 0) {\r\n var d = v[i] * 2;\r\n sum += Math.floor(d / 10)\r\n sum += d % 10;\r\n } else {\r\n sum += v[i];\r\n }\r\n }\r\n return (10 - (sum % 10)) % 10\r\n}\r\n\r\n\r\nexports.isinGenerator = function isinGenerator() {\r\n return generateIsin(cusip)\r\n}"],"names":["require$$0","require$$1"],"mappings":";;;;;;AAEA,MAAM,YAAY,GAAGA,eAA+B;AACpD,MAAM,KAAK,GAAGC,eAAyC,CAAC,aAAa,GAAE;AACvE;AACA;AACA,MAAM,YAAY,GAAG,KAAK,IAAI;AAC9B,IAAI,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,EAAC;AAC5E,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,sBAAsB,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,EAAC;AACxE,IAAI,OAAO,IAAI;AACf,EAAC;AACD;AACA,MAAM,sBAAsB,GAAG,IAAI,IAAI;AACvC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,KAAK,CAAC;AACxC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AACf,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC/C,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC/B,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AACtB,YAAY,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACrD,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;AACpC,YAAY,IAAI,UAAU,GAAG,CAAC,EAAE;AAChC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;AACpD,aAAa;AACb,SAAS,MAAM;AACf,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,SAAS;AACT,KAAK;AACL,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC;AAChB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AACrB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAChC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACxB,YAAY,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7B,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAC;AACrC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC1B,SAAS,MAAM;AACf,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,SAAS;AACT,KAAK;AACL,IAAI,OAAO,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE;AACjC,EAAC;AACD;AACA;AACqB,IAAA,eAAA,GAAG,SAAS,aAAa,GAAG;AACjD,IAAI,OAAO,YAAY,CAAC,KAAK,CAAC;AAC9B;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var __accessCheck = (obj, member, msg) => {
|
|
4
|
+
if (!member.has(obj))
|
|
5
|
+
throw TypeError("Cannot " + msg);
|
|
6
|
+
};
|
|
7
|
+
var __privateGet = (obj, member, getter) => {
|
|
8
|
+
__accessCheck(obj, member, "read from private field");
|
|
9
|
+
return getter ? getter.call(obj) : member.get(obj);
|
|
10
|
+
};
|
|
11
|
+
var __privateAdd = (obj, member, value) => {
|
|
12
|
+
if (member.has(obj))
|
|
13
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
14
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
15
|
+
};
|
|
16
|
+
var __privateSet = (obj, member, value, setter) => {
|
|
17
|
+
__accessCheck(obj, member, "write to private field");
|
|
18
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
19
|
+
return value;
|
|
20
|
+
};
|
|
21
|
+
var _getItem;
|
|
22
|
+
const _ArrayProxy = class _ArrayProxy {
|
|
23
|
+
constructor(size, getRow) {
|
|
24
|
+
__privateAdd(this, _getItem, void 0);
|
|
25
|
+
this.length = 0;
|
|
26
|
+
this.map = (func) => {
|
|
27
|
+
return new _ArrayProxy(this.length, (i) => {
|
|
28
|
+
return func(__privateGet(this, _getItem).call(this, i), i);
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
this.slice = (from, to) => {
|
|
32
|
+
const out = [];
|
|
33
|
+
const end = Math.min(this.length, to);
|
|
34
|
+
for (let i = from; i < end; i++) {
|
|
35
|
+
out.push(__privateGet(this, _getItem).call(this, i));
|
|
36
|
+
}
|
|
37
|
+
return out;
|
|
38
|
+
};
|
|
39
|
+
__privateSet(this, _getItem, getRow);
|
|
40
|
+
this.length = size;
|
|
41
|
+
const handler = {
|
|
42
|
+
get: (target, prop) => {
|
|
43
|
+
var _a;
|
|
44
|
+
if (prop === "length") {
|
|
45
|
+
return target.length;
|
|
46
|
+
} else if (prop === "slice") {
|
|
47
|
+
return target.slice;
|
|
48
|
+
} else if (prop === "map") {
|
|
49
|
+
return target.map;
|
|
50
|
+
} else if (prop === "toString") {
|
|
51
|
+
return "[ArrayProxy]";
|
|
52
|
+
}
|
|
53
|
+
if (typeof prop === "string") {
|
|
54
|
+
const index = parseInt(prop, 10);
|
|
55
|
+
if (!isNaN(index)) {
|
|
56
|
+
if (index < this.length) {
|
|
57
|
+
return __privateGet(_a = target, _getItem).call(_a, index);
|
|
58
|
+
} else {
|
|
59
|
+
return void 0;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
throw Error(`unsupported property ${String(prop)} on ArrayProxy`);
|
|
64
|
+
},
|
|
65
|
+
set: (target, prop, newVal) => {
|
|
66
|
+
if (prop === "length") {
|
|
67
|
+
target.length = newVal;
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
throw Error(`ArrayProxy is immutable except for length`);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
return new Proxy(this, handler);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
_getItem = new WeakMap();
|
|
77
|
+
let ArrayProxy = _ArrayProxy;
|
|
78
|
+
|
|
79
|
+
exports.ArrayProxy = ArrayProxy;
|
|
80
|
+
//# sourceMappingURL=ArrayProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArrayProxy.js","sources":["../../../../src/ArrayProxy.ts"],"sourcesContent":["export type RowAtIndexFunc<T = unknown> = (index: number) => T | undefined;\n\nexport class ArrayProxy<T = string> {\n #getItem: RowAtIndexFunc;\n public length = 0;\n\n constructor(size: number, getRow: RowAtIndexFunc) {\n this.#getItem = getRow;\n this.length = size;\n\n const handler = {\n get: (target: ArrayProxy<T>, prop: string | symbol): any => {\n if (prop === \"length\") {\n return target.length;\n } else if (prop === \"slice\") {\n return target.slice;\n } else if (prop === \"map\") {\n return target.map;\n } else if (prop === \"toString\") {\n return \"[ArrayProxy]\";\n }\n if (typeof prop === \"string\") {\n const index = parseInt(prop, 10);\n if (!isNaN(index)) {\n if (index < this.length) {\n return target.#getItem(index);\n } else {\n return undefined;\n }\n }\n }\n throw Error(`unsupported property ${String(prop)} on ArrayProxy`);\n },\n set: (target: ArrayProxy<T>, prop: string, newVal: unknown) => {\n if (prop === \"length\") {\n target.length = newVal as number;\n return true;\n }\n throw Error(`ArrayProxy is immutable except for length`);\n },\n };\n return new Proxy(this, handler);\n }\n\n map = (func: (item: T, i: number) => unknown) => {\n return new ArrayProxy(this.length, (i: number) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return func(this.#getItem(i), i);\n });\n };\n slice = (from: number, to: number) => {\n const out = [];\n const end = Math.min(this.length, to);\n for (let i = from; i < end; i++) {\n out.push(this.#getItem(i));\n }\n return out;\n };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,IAAA,QAAA,CAAA;AAEO,MAAM,WAAA,GAAN,MAAM,WAAuB,CAAA;AAAA,EAIlC,WAAA,CAAY,MAAc,MAAwB,EAAA;AAHlD,IAAA,YAAA,CAAA,IAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAO,MAAS,GAAA,CAAA,CAAA;AAwChB,IAAA,IAAA,CAAA,GAAA,GAAM,CAAC,IAA0C,KAAA;AAC/C,MAAA,OAAO,IAAI,WAAA,CAAW,IAAK,CAAA,MAAA,EAAQ,CAAC,CAAc,KAAA;AAGhD,QAAA,OAAO,IAAK,CAAA,YAAA,CAAA,IAAA,EAAK,QAAL,CAAA,CAAA,IAAA,CAAA,IAAA,EAAc,IAAI,CAAC,CAAA,CAAA;AAAA,OAChC,CAAA,CAAA;AAAA,KACH,CAAA;AACA,IAAQ,IAAA,CAAA,KAAA,GAAA,CAAC,MAAc,EAAe,KAAA;AACpC,MAAA,MAAM,MAAM,EAAC,CAAA;AACb,MAAA,MAAM,GAAM,GAAA,IAAA,CAAK,GAAI,CAAA,IAAA,CAAK,QAAQ,EAAE,CAAA,CAAA;AACpC,MAAA,KAAA,IAAS,CAAI,GAAA,IAAA,EAAM,CAAI,GAAA,GAAA,EAAK,CAAK,EAAA,EAAA;AAC/B,QAAA,GAAA,CAAI,IAAK,CAAA,YAAA,CAAA,IAAA,EAAK,QAAL,CAAA,CAAA,IAAA,CAAA,IAAA,EAAc,CAAE,CAAA,CAAA,CAAA;AAAA,OAC3B;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACT,CAAA;AAnDE,IAAA,YAAA,CAAA,IAAA,EAAK,QAAW,EAAA,MAAA,CAAA,CAAA;AAChB,IAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AAEd,IAAA,MAAM,OAAU,GAAA;AAAA,MACd,GAAA,EAAK,CAAC,MAAA,EAAuB,IAA+B,KAAA;AAXlE,QAAA,IAAA,EAAA,CAAA;AAYQ,QAAA,IAAI,SAAS,QAAU,EAAA;AACrB,UAAA,OAAO,MAAO,CAAA,MAAA,CAAA;AAAA,SAChB,MAAA,IAAW,SAAS,OAAS,EAAA;AAC3B,UAAA,OAAO,MAAO,CAAA,KAAA,CAAA;AAAA,SAChB,MAAA,IAAW,SAAS,KAAO,EAAA;AACzB,UAAA,OAAO,MAAO,CAAA,GAAA,CAAA;AAAA,SAChB,MAAA,IAAW,SAAS,UAAY,EAAA;AAC9B,UAAO,OAAA,cAAA,CAAA;AAAA,SACT;AACA,QAAI,IAAA,OAAO,SAAS,QAAU,EAAA;AAC5B,UAAM,MAAA,KAAA,GAAQ,QAAS,CAAA,IAAA,EAAM,EAAE,CAAA,CAAA;AAC/B,UAAI,IAAA,CAAC,KAAM,CAAA,KAAK,CAAG,EAAA;AACjB,YAAI,IAAA,KAAA,GAAQ,KAAK,MAAQ,EAAA;AACvB,cAAO,OAAA,YAAA,CAAA,EAAA,GAAA,MAAA,EAAO,UAAP,IAAgB,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA;AAAA,aAClB,MAAA;AACL,cAAO,OAAA,KAAA,CAAA,CAAA;AAAA,aACT;AAAA,WACF;AAAA,SACF;AACA,QAAA,MAAM,KAAM,CAAA,CAAA,qBAAA,EAAwB,MAAO,CAAA,IAAI,CAAC,CAAgB,cAAA,CAAA,CAAA,CAAA;AAAA,OAClE;AAAA,MACA,GAAK,EAAA,CAAC,MAAuB,EAAA,IAAA,EAAc,MAAoB,KAAA;AAC7D,QAAA,IAAI,SAAS,QAAU,EAAA;AACrB,UAAA,MAAA,CAAO,MAAS,GAAA,MAAA,CAAA;AAChB,UAAO,OAAA,IAAA,CAAA;AAAA,SACT;AACA,QAAA,MAAM,MAAM,CAA2C,yCAAA,CAAA,CAAA,CAAA;AAAA,OACzD;AAAA,KACF,CAAA;AACA,IAAO,OAAA,IAAI,KAAM,CAAA,IAAA,EAAM,OAAO,CAAA,CAAA;AAAA,GAChC;AAiBF,CAAA,CAAA;AAxDE,QAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AADK,IAAM,UAAN,GAAA;;;;"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vuuUtils = require('@vuu-ui/vuu-utils');
|
|
4
|
+
|
|
5
|
+
var __accessCheck = (obj, member, msg) => {
|
|
6
|
+
if (!member.has(obj))
|
|
7
|
+
throw TypeError("Cannot " + msg);
|
|
8
|
+
};
|
|
9
|
+
var __privateGet = (obj, member, getter) => {
|
|
10
|
+
__accessCheck(obj, member, "read from private field");
|
|
11
|
+
return getter ? getter.call(obj) : member.get(obj);
|
|
12
|
+
};
|
|
13
|
+
var __privateAdd = (obj, member, value) => {
|
|
14
|
+
if (member.has(obj))
|
|
15
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
16
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
17
|
+
};
|
|
18
|
+
var __privateSet = (obj, member, value, setter) => {
|
|
19
|
+
__accessCheck(obj, member, "write to private field");
|
|
20
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
21
|
+
return value;
|
|
22
|
+
};
|
|
23
|
+
var _data, _dataMap, _indexOfKey, _index, _schema;
|
|
24
|
+
class Table extends vuuUtils.EventEmitter {
|
|
25
|
+
constructor(schema, data, dataMap, updateGenerator) {
|
|
26
|
+
super();
|
|
27
|
+
__privateAdd(this, _data, void 0);
|
|
28
|
+
__privateAdd(this, _dataMap, void 0);
|
|
29
|
+
__privateAdd(this, _indexOfKey, void 0);
|
|
30
|
+
__privateAdd(this, _index, /* @__PURE__ */ new Map());
|
|
31
|
+
__privateAdd(this, _schema, void 0);
|
|
32
|
+
__privateSet(this, _data, data);
|
|
33
|
+
__privateSet(this, _dataMap, dataMap);
|
|
34
|
+
__privateSet(this, _schema, schema);
|
|
35
|
+
__privateSet(this, _indexOfKey, dataMap[schema.key]);
|
|
36
|
+
this.buildIndex();
|
|
37
|
+
updateGenerator?.setTable(this);
|
|
38
|
+
updateGenerator?.setRange({ from: 0, to: 100 });
|
|
39
|
+
}
|
|
40
|
+
buildIndex() {
|
|
41
|
+
for (let i = 0; i < __privateGet(this, _data).length; i++) {
|
|
42
|
+
const key = __privateGet(this, _data)[i][__privateGet(this, _indexOfKey)];
|
|
43
|
+
__privateGet(this, _index).set(key, i);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
get data() {
|
|
47
|
+
return __privateGet(this, _data);
|
|
48
|
+
}
|
|
49
|
+
get map() {
|
|
50
|
+
return __privateGet(this, _dataMap);
|
|
51
|
+
}
|
|
52
|
+
get schema() {
|
|
53
|
+
return __privateGet(this, _schema);
|
|
54
|
+
}
|
|
55
|
+
insert(row) {
|
|
56
|
+
const index = __privateGet(this, _data).length;
|
|
57
|
+
__privateGet(this, _data).push(row);
|
|
58
|
+
const key = row[__privateGet(this, _indexOfKey)];
|
|
59
|
+
__privateGet(this, _index).set(key, index);
|
|
60
|
+
this.emit("insert", row);
|
|
61
|
+
}
|
|
62
|
+
findByKey(key) {
|
|
63
|
+
const index = __privateGet(this, _index).get(key) ?? -1;
|
|
64
|
+
return __privateGet(this, _data)[index];
|
|
65
|
+
}
|
|
66
|
+
update(key, columnName, value) {
|
|
67
|
+
const rowIndex = __privateGet(this, _data).findIndex(
|
|
68
|
+
(row) => row[__privateGet(this, _indexOfKey)] === key
|
|
69
|
+
);
|
|
70
|
+
const colIndex = __privateGet(this, _dataMap)[columnName];
|
|
71
|
+
if (rowIndex !== -1) {
|
|
72
|
+
const row = __privateGet(this, _data)[rowIndex];
|
|
73
|
+
const newRow = row.slice();
|
|
74
|
+
newRow[colIndex] = value;
|
|
75
|
+
__privateGet(this, _data)[rowIndex] = newRow;
|
|
76
|
+
this.emit("update", newRow, columnName);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
updateRow(row) {
|
|
80
|
+
const key = row[__privateGet(this, _indexOfKey)];
|
|
81
|
+
const rowIndex = __privateGet(this, _data).findIndex(
|
|
82
|
+
(row2) => row2[__privateGet(this, _indexOfKey)] === key
|
|
83
|
+
);
|
|
84
|
+
if (rowIndex !== -1) {
|
|
85
|
+
__privateGet(this, _data)[rowIndex] = row;
|
|
86
|
+
this.emit("update", row);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
_data = new WeakMap();
|
|
91
|
+
_dataMap = new WeakMap();
|
|
92
|
+
_indexOfKey = new WeakMap();
|
|
93
|
+
_index = new WeakMap();
|
|
94
|
+
_schema = new WeakMap();
|
|
95
|
+
const buildDataColumnMap = (schema) => Object.values(schema.columns).reduce((map, col, index) => {
|
|
96
|
+
map[col.name] = index;
|
|
97
|
+
return map;
|
|
98
|
+
}, {});
|
|
99
|
+
const getServerDataType = (columnName, { columns: cols1, table: t1 }, { columns: cols2, table: t2 }) => {
|
|
100
|
+
const col1 = cols1.find((col) => col.name === columnName);
|
|
101
|
+
const col2 = cols2.find((col) => col.name === columnName);
|
|
102
|
+
if (col1 && col2) {
|
|
103
|
+
if (col1.serverDataType === col2.serverDataType) {
|
|
104
|
+
return col1.serverDataType;
|
|
105
|
+
} else {
|
|
106
|
+
throw Error(
|
|
107
|
+
`both tables ${t1.table} and ${t2.table} implement column ${columnName}, but with types differ`
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
} else if (col1) {
|
|
111
|
+
return col1.serverDataType;
|
|
112
|
+
} else if (col2) {
|
|
113
|
+
return col2.serverDataType;
|
|
114
|
+
} else {
|
|
115
|
+
throw Error(`WTF how is this possible`);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
const joinTables = (joinTable, table1, table2, joinColumn) => {
|
|
119
|
+
const { map: m1, schema: schema1 } = table1;
|
|
120
|
+
const { map: m2, schema: schema2 } = table2;
|
|
121
|
+
const k1 = m1[joinColumn];
|
|
122
|
+
const k2 = m2[joinColumn];
|
|
123
|
+
const combinedColumns = new Set(
|
|
124
|
+
[...schema1.columns, ...schema2.columns].map((col) => col.name).sort()
|
|
125
|
+
);
|
|
126
|
+
const combinedSchema = {
|
|
127
|
+
key: joinColumn,
|
|
128
|
+
table: joinTable,
|
|
129
|
+
columns: Array.from(combinedColumns).map((columnName) => ({
|
|
130
|
+
name: columnName,
|
|
131
|
+
serverDataType: getServerDataType(columnName, schema1, schema2)
|
|
132
|
+
}))
|
|
133
|
+
};
|
|
134
|
+
const data = [];
|
|
135
|
+
const combinedColumnMap = buildDataColumnMap(combinedSchema);
|
|
136
|
+
for (const row of table1.data) {
|
|
137
|
+
const row2 = table2.findByKey(String(row[k1]));
|
|
138
|
+
if (row2) {
|
|
139
|
+
const out = [];
|
|
140
|
+
for (const column of table1.schema.columns) {
|
|
141
|
+
const value = row[m1[column.name]];
|
|
142
|
+
out[combinedColumnMap[column.name]] = value;
|
|
143
|
+
}
|
|
144
|
+
for (const column of table2.schema.columns) {
|
|
145
|
+
const value = row2[m2[column.name]];
|
|
146
|
+
out[combinedColumnMap[column.name]] = value;
|
|
147
|
+
}
|
|
148
|
+
data.push(out);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const newTable = new Table(combinedSchema, data, combinedColumnMap);
|
|
152
|
+
table1.on("insert", (row) => {
|
|
153
|
+
const row2 = table2.findByKey(String(row[k1]));
|
|
154
|
+
if (row2) {
|
|
155
|
+
const out = [];
|
|
156
|
+
for (const column of table1.schema.columns) {
|
|
157
|
+
const value = row[m1[column.name]];
|
|
158
|
+
out[combinedColumnMap[column.name]] = value;
|
|
159
|
+
}
|
|
160
|
+
for (const column of table2.schema.columns) {
|
|
161
|
+
const value = row2[m2[column.name]];
|
|
162
|
+
out[combinedColumnMap[column.name]] = value;
|
|
163
|
+
}
|
|
164
|
+
newTable.insert(out);
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
table2.on("update", (row) => {
|
|
168
|
+
const keyValue = row[k2];
|
|
169
|
+
const targetRow = newTable.findByKey(keyValue);
|
|
170
|
+
if (targetRow) {
|
|
171
|
+
const updatedRow = targetRow.slice();
|
|
172
|
+
for (const { name } of table2.schema.columns) {
|
|
173
|
+
if (row[m2[name]] !== updatedRow[combinedColumnMap[name]]) {
|
|
174
|
+
updatedRow[combinedColumnMap[name]] = row[m2[name]];
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
newTable.updateRow(updatedRow);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
return newTable;
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
exports.Table = Table;
|
|
184
|
+
exports.buildDataColumnMap = buildDataColumnMap;
|
|
185
|
+
exports.joinTables = joinTables;
|
|
186
|
+
//# sourceMappingURL=Table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../../../src/Table.ts"],"sourcesContent":["import { SchemaColumn, TableSchema } from \"@vuu-ui/vuu-data-types\";\nimport { VuuRowDataItemType, VuuTable } from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap, EventEmitter } from \"@vuu-ui/vuu-utils\";\nimport { UpdateGenerator } from \"./rowUpdates\";\n\nexport type TableEvents = {\n delete: (row: VuuRowDataItemType[]) => void;\n insert: (row: VuuRowDataItemType[]) => void;\n update: (row: VuuRowDataItemType[], columnName?: string) => void;\n};\n\nexport class Table extends EventEmitter<TableEvents> {\n #data: VuuRowDataItemType[][];\n #dataMap: ColumnMap;\n #indexOfKey: number;\n #index = new Map<string, number>();\n #schema: TableSchema;\n\n constructor(\n schema: TableSchema,\n data: VuuRowDataItemType[][],\n dataMap: ColumnMap,\n updateGenerator?: UpdateGenerator\n ) {\n super();\n this.#data = data;\n this.#dataMap = dataMap;\n this.#schema = schema;\n this.#indexOfKey = dataMap[schema.key];\n this.buildIndex();\n updateGenerator?.setTable(this);\n updateGenerator?.setRange({ from: 0, to: 100 });\n }\n\n private buildIndex() {\n for (let i = 0; i < this.#data.length; i++) {\n const key = this.#data[i][this.#indexOfKey] as string;\n this.#index.set(key, i);\n }\n }\n\n get data() {\n return this.#data;\n }\n\n get map() {\n return this.#dataMap;\n }\n\n get schema() {\n return this.#schema;\n }\n\n insert(row: VuuRowDataItemType[]) {\n const index = this.#data.length;\n this.#data.push(row);\n const key = row[this.#indexOfKey] as string;\n this.#index.set(key, index);\n this.emit(\"insert\", row);\n }\n\n findByKey(key: string) {\n const index = this.#index.get(key) ?? -1;\n return this.#data[index];\n }\n\n update(key: string, columnName: string, value: VuuRowDataItemType) {\n const rowIndex = this.#data.findIndex(\n (row) => row[this.#indexOfKey] === key\n );\n const colIndex = this.#dataMap[columnName];\n if (rowIndex !== -1) {\n const row = this.#data[rowIndex];\n const newRow = row.slice();\n newRow[colIndex] = value;\n this.#data[rowIndex] = newRow;\n this.emit(\"update\", newRow, columnName);\n }\n }\n updateRow(row: VuuRowDataItemType[]) {\n const key = row[this.#indexOfKey];\n const rowIndex = this.#data.findIndex(\n (row) => row[this.#indexOfKey] === key\n );\n if (rowIndex !== -1) {\n this.#data[rowIndex] = row;\n this.emit(\"update\", row);\n }\n }\n}\n\nexport const buildDataColumnMap = (schema: TableSchema) =>\n Object.values(schema.columns).reduce<ColumnMap>((map, col, index) => {\n map[col.name] = index;\n return map;\n }, {});\n\nconst getServerDataType = (\n columnName: string,\n { columns: cols1, table: t1 }: TableSchema,\n { columns: cols2, table: t2 }: TableSchema\n) => {\n const col1 = cols1.find((col) => col.name === columnName);\n const col2 = cols2.find((col) => col.name === columnName);\n if (col1 && col2) {\n if (col1.serverDataType === col2.serverDataType) {\n return col1.serverDataType;\n } else {\n throw Error(\n `both tables ${t1.table} and ${t2.table} implement column ${columnName}, but with types differ`\n );\n }\n } else if (col1) {\n return col1.serverDataType;\n } else if (col2) {\n return col2.serverDataType;\n } else {\n throw Error(`WTF how is this possible`);\n }\n};\n\n// Just copies source tables, then registers update listeners.\n// Not terribly efficient, but good enough for showcase\nexport const joinTables = (\n joinTable: VuuTable,\n table1: Table,\n table2: Table,\n joinColumn: string\n) => {\n const { map: m1, schema: schema1 } = table1;\n const { map: m2, schema: schema2 } = table2;\n const k1 = m1[joinColumn];\n const k2 = m2[joinColumn];\n\n const combinedColumns = new Set(\n [...schema1.columns, ...schema2.columns].map((col) => col.name).sort()\n );\n\n const combinedSchema: TableSchema = {\n key: joinColumn,\n table: joinTable,\n columns: Array.from(combinedColumns).map<SchemaColumn>((columnName) => ({\n name: columnName,\n serverDataType: getServerDataType(columnName, schema1, schema2),\n })),\n };\n\n const data: VuuRowDataItemType[][] = [];\n const combinedColumnMap = buildDataColumnMap(combinedSchema);\n // const start = performance.now();\n for (const row of table1.data) {\n const row2 = table2.findByKey(String(row[k1]));\n if (row2) {\n const out = [];\n for (const column of table1.schema.columns) {\n const value = row[m1[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n for (const column of table2.schema.columns) {\n const value = row2[m2[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n\n data.push(out);\n }\n }\n // const end = performance.now();\n // console.log(`took ${end - start} ms to create join table ${joinTable.table}`);\n\n const newTable = new Table(combinedSchema, data, combinedColumnMap);\n\n table1.on(\"insert\", (row) => {\n const row2 = table2.findByKey(String(row[k1]));\n if (row2) {\n const out = [];\n for (const column of table1.schema.columns) {\n const value = row[m1[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n for (const column of table2.schema.columns) {\n const value = row2[m2[column.name]];\n out[combinedColumnMap[column.name]] = value;\n }\n newTable.insert(out);\n }\n });\n\n table2.on(\"update\", (row) => {\n const keyValue = row[k2] as string;\n const targetRow = newTable.findByKey(keyValue);\n if (targetRow) {\n const updatedRow = targetRow.slice();\n for (const { name } of table2.schema.columns) {\n if (row[m2[name]] !== updatedRow[combinedColumnMap[name]]) {\n updatedRow[combinedColumnMap[name]] = row[m2[name]];\n }\n }\n newTable.updateRow(updatedRow);\n }\n });\n\n return newTable;\n};\n"],"names":["EventEmitter","row"],"mappings":"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"}
|