@finsys/core 4.5.0 → 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data/adapter-categories.json +851 -1
- package/dist/index.cjs +915 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +42 -10
- package/dist/index.d.ts +42 -10
- package/dist/index.js +913 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -10211,7 +10211,7 @@ function applyAggregation(op, instances) {
|
|
|
10211
10211
|
|
|
10212
10212
|
// src/data/adapter-categories.json
|
|
10213
10213
|
var adapter_categories_default = {
|
|
10214
|
-
schemaVersion: "1.
|
|
10214
|
+
schemaVersion: "1.1.0",
|
|
10215
10215
|
categories: [
|
|
10216
10216
|
{
|
|
10217
10217
|
id: "telco-carrier",
|
|
@@ -10850,6 +10850,856 @@ var adapter_categories_default = {
|
|
|
10850
10850
|
description: "Net pay for the period."
|
|
10851
10851
|
}
|
|
10852
10852
|
]
|
|
10853
|
+
},
|
|
10854
|
+
{
|
|
10855
|
+
id: "finxtract-financial-statement",
|
|
10856
|
+
displayName: "Financial Statement (Document Extraction)",
|
|
10857
|
+
description: "Fields extracted from an uploaded audited financial-statement document by the host's extraction pipeline. One document = one audited financial statement carrying TWO declared periods per the period-axis contract: period1 is its current fiscal year, period2 is its prior comparative year. Metric names are bare in the flat vocabulary, like the bank-statement extraction category's.",
|
|
10858
|
+
canonicalTable: "ihsfinancialstatement",
|
|
10859
|
+
fields: [
|
|
10860
|
+
{
|
|
10861
|
+
name: "localNo",
|
|
10862
|
+
type: "string",
|
|
10863
|
+
description: "Company registration (local) number as stated on the document."
|
|
10864
|
+
},
|
|
10865
|
+
{
|
|
10866
|
+
name: "companyName",
|
|
10867
|
+
type: "string",
|
|
10868
|
+
fact: "companyName",
|
|
10869
|
+
description: "Company name as stated on the document. Attestation of the shared companyName fact \u2014 the SSM Form 9 extraction category attests the same fact from its own document."
|
|
10870
|
+
},
|
|
10871
|
+
{
|
|
10872
|
+
name: "financialYearEnd",
|
|
10873
|
+
type: "string",
|
|
10874
|
+
description: "Financial year end stated by the source document, normalized to ISO YYYY-MM-DD. Shared verbatim by every period the document carries \u2014 period identity comes from declared position, never from this date."
|
|
10875
|
+
},
|
|
10876
|
+
{
|
|
10877
|
+
name: "consolidated",
|
|
10878
|
+
type: "boolean",
|
|
10879
|
+
description: "Whether the statement reports consolidated (group-level) accounts."
|
|
10880
|
+
},
|
|
10881
|
+
{
|
|
10882
|
+
name: "currency",
|
|
10883
|
+
type: "string",
|
|
10884
|
+
description: "Reporting currency stated on the document."
|
|
10885
|
+
},
|
|
10886
|
+
{
|
|
10887
|
+
name: "year",
|
|
10888
|
+
type: "number",
|
|
10889
|
+
description: "1-based ordinal of this document within the applicant's uploaded statement sequence; document 1 covers the most recent fiscal years."
|
|
10890
|
+
},
|
|
10891
|
+
{
|
|
10892
|
+
name: "nonCurrentAssetsSubsidiaryCompanies",
|
|
10893
|
+
type: "number",
|
|
10894
|
+
unit: "MYR",
|
|
10895
|
+
description: "Non-current assets: subsidiary companies."
|
|
10896
|
+
},
|
|
10897
|
+
{
|
|
10898
|
+
name: "nonCurrentAssetsAssociatedCompanies",
|
|
10899
|
+
type: "number",
|
|
10900
|
+
unit: "MYR",
|
|
10901
|
+
description: "Non-current assets: associated companies."
|
|
10902
|
+
},
|
|
10903
|
+
{
|
|
10904
|
+
name: "nonCurrentAssetsDevelopmentPropertiesOrExpenditure",
|
|
10905
|
+
type: "number",
|
|
10906
|
+
unit: "MYR",
|
|
10907
|
+
description: "Non-current assets: development properties or expenditure."
|
|
10908
|
+
},
|
|
10909
|
+
{
|
|
10910
|
+
name: "nonCurrentAssetInvestmentProperties",
|
|
10911
|
+
type: "number",
|
|
10912
|
+
unit: "MYR",
|
|
10913
|
+
description: "Non-current assets: investment properties."
|
|
10914
|
+
},
|
|
10915
|
+
{
|
|
10916
|
+
name: "nonCurrentAssetsInvestments",
|
|
10917
|
+
type: "number",
|
|
10918
|
+
unit: "MYR",
|
|
10919
|
+
description: "Non-current assets: investments."
|
|
10920
|
+
},
|
|
10921
|
+
{
|
|
10922
|
+
name: "nonCurrentAssetInvestmentSecurities",
|
|
10923
|
+
type: "number",
|
|
10924
|
+
unit: "MYR",
|
|
10925
|
+
description: "Non-current assets: investment securities."
|
|
10926
|
+
},
|
|
10927
|
+
{
|
|
10928
|
+
name: "nonCurrentAssetDeferredAssets",
|
|
10929
|
+
type: "number",
|
|
10930
|
+
unit: "MYR",
|
|
10931
|
+
description: "Non-current assets: deferred assets."
|
|
10932
|
+
},
|
|
10933
|
+
{
|
|
10934
|
+
name: "nonCurrentAssetDeposits",
|
|
10935
|
+
type: "number",
|
|
10936
|
+
unit: "MYR",
|
|
10937
|
+
description: "Non-current assets: deposits."
|
|
10938
|
+
},
|
|
10939
|
+
{
|
|
10940
|
+
name: "nonCurrentAssetOwnGoodwill",
|
|
10941
|
+
type: "number",
|
|
10942
|
+
unit: "MYR",
|
|
10943
|
+
description: "Non-current assets: own goodwill."
|
|
10944
|
+
},
|
|
10945
|
+
{
|
|
10946
|
+
name: "nonCurrentAssetGoodwillOnConsolidation",
|
|
10947
|
+
type: "number",
|
|
10948
|
+
unit: "MYR",
|
|
10949
|
+
description: "Non-current assets: goodwill on consolidation."
|
|
10950
|
+
},
|
|
10951
|
+
{
|
|
10952
|
+
name: "nonCurrentAssetSinkingFund",
|
|
10953
|
+
type: "number",
|
|
10954
|
+
unit: "MYR",
|
|
10955
|
+
description: "Non-current assets: sinking fund."
|
|
10956
|
+
},
|
|
10957
|
+
{
|
|
10958
|
+
name: "nonCurrentAssetPropertyPlantEquipment",
|
|
10959
|
+
type: "number",
|
|
10960
|
+
unit: "MYR",
|
|
10961
|
+
description: "Non-current assets: property plant equipment."
|
|
10962
|
+
},
|
|
10963
|
+
{
|
|
10964
|
+
name: "nonCurrentAssetInventories",
|
|
10965
|
+
type: "number",
|
|
10966
|
+
unit: "MYR",
|
|
10967
|
+
description: "Non-current assets: inventories."
|
|
10968
|
+
},
|
|
10969
|
+
{
|
|
10970
|
+
name: "nonCurrentAssetRightOfUseAssets",
|
|
10971
|
+
type: "number",
|
|
10972
|
+
unit: "MYR",
|
|
10973
|
+
description: "Non-current assets: right of use assets."
|
|
10974
|
+
},
|
|
10975
|
+
{
|
|
10976
|
+
name: "nonCurrentAssetIntangibleAssets",
|
|
10977
|
+
type: "number",
|
|
10978
|
+
unit: "MYR",
|
|
10979
|
+
description: "Non-current assets: intangible assets."
|
|
10980
|
+
},
|
|
10981
|
+
{
|
|
10982
|
+
name: "nonCurrentAssetPrepaidLeasePayments",
|
|
10983
|
+
type: "number",
|
|
10984
|
+
unit: "MYR",
|
|
10985
|
+
description: "Non-current assets: prepaid lease payments."
|
|
10986
|
+
},
|
|
10987
|
+
{
|
|
10988
|
+
name: "nonCurrentAssetFinancialAssetAtFairValue",
|
|
10989
|
+
type: "number",
|
|
10990
|
+
unit: "MYR",
|
|
10991
|
+
description: "Non-current assets: financial asset at fair value."
|
|
10992
|
+
},
|
|
10993
|
+
{
|
|
10994
|
+
name: "nonCurrentAssetLandUseRight",
|
|
10995
|
+
type: "number",
|
|
10996
|
+
unit: "MYR",
|
|
10997
|
+
description: "Non-current assets: land use right."
|
|
10998
|
+
},
|
|
10999
|
+
{
|
|
11000
|
+
name: "nonCurrentAssetTradeReceivables",
|
|
11001
|
+
type: "number",
|
|
11002
|
+
unit: "MYR",
|
|
11003
|
+
description: "Non-current assets: trade receivables."
|
|
11004
|
+
},
|
|
11005
|
+
{
|
|
11006
|
+
name: "nonCurrentAssetOtherReceivables",
|
|
11007
|
+
type: "number",
|
|
11008
|
+
unit: "MYR",
|
|
11009
|
+
description: "Non-current assets: other receivables."
|
|
11010
|
+
},
|
|
11011
|
+
{
|
|
11012
|
+
name: "nonCurrentAssetTradeAndOtherReceivables",
|
|
11013
|
+
type: "number",
|
|
11014
|
+
unit: "MYR",
|
|
11015
|
+
description: "Non-current assets: trade and other receivables."
|
|
11016
|
+
},
|
|
11017
|
+
{
|
|
11018
|
+
name: "nonCurrentAssetOtherReceivablesDepositsAndPrepayments",
|
|
11019
|
+
type: "number",
|
|
11020
|
+
unit: "MYR",
|
|
11021
|
+
description: "Non-current assets: other receivables deposits and prepayments."
|
|
11022
|
+
},
|
|
11023
|
+
{
|
|
11024
|
+
name: "totalNonCurrentAssets",
|
|
11025
|
+
type: "number",
|
|
11026
|
+
unit: "MYR",
|
|
11027
|
+
description: "Balance-sheet total: non-current assets."
|
|
11028
|
+
},
|
|
11029
|
+
{
|
|
11030
|
+
name: "currentAssetDevelopmentPropertiesOrExpenditure",
|
|
11031
|
+
type: "number",
|
|
11032
|
+
unit: "MYR",
|
|
11033
|
+
description: "Current assets: development properties or expenditure."
|
|
11034
|
+
},
|
|
11035
|
+
{
|
|
11036
|
+
name: "currentAssetShortTermInvestments",
|
|
11037
|
+
type: "number",
|
|
11038
|
+
unit: "MYR",
|
|
11039
|
+
description: "Current assets: short term investments."
|
|
11040
|
+
},
|
|
11041
|
+
{
|
|
11042
|
+
name: "currentAssetTradeDebtors",
|
|
11043
|
+
type: "number",
|
|
11044
|
+
unit: "MYR",
|
|
11045
|
+
description: "Current assets: trade debtors."
|
|
11046
|
+
},
|
|
11047
|
+
{
|
|
11048
|
+
name: "currentAssetShortTermDeposits",
|
|
11049
|
+
type: "number",
|
|
11050
|
+
unit: "MYR",
|
|
11051
|
+
description: "Current assets: short term deposits."
|
|
11052
|
+
},
|
|
11053
|
+
{
|
|
11054
|
+
name: "currentAssetAmountDueFromHoldingCompany",
|
|
11055
|
+
type: "number",
|
|
11056
|
+
unit: "MYR",
|
|
11057
|
+
description: "Current assets: amount due from holding company."
|
|
11058
|
+
},
|
|
11059
|
+
{
|
|
11060
|
+
name: "currentAssetAmountDueFromSubsidiaryCompanies",
|
|
11061
|
+
type: "number",
|
|
11062
|
+
unit: "MYR",
|
|
11063
|
+
description: "Current assets: amount due from subsidiary companies."
|
|
11064
|
+
},
|
|
11065
|
+
{
|
|
11066
|
+
name: "currentAssetAmountDueFromAssociatedCompanies",
|
|
11067
|
+
type: "number",
|
|
11068
|
+
unit: "MYR",
|
|
11069
|
+
description: "Current assets: amount due from associated companies."
|
|
11070
|
+
},
|
|
11071
|
+
{
|
|
11072
|
+
name: "currentAssetAmountDueFromDirector",
|
|
11073
|
+
type: "number",
|
|
11074
|
+
unit: "MYR",
|
|
11075
|
+
description: "Current assets: amount due from director."
|
|
11076
|
+
},
|
|
11077
|
+
{
|
|
11078
|
+
name: "currentAssetAmountDueFromCustomer",
|
|
11079
|
+
type: "number",
|
|
11080
|
+
unit: "MYR",
|
|
11081
|
+
description: "Current assets: amount due from customer."
|
|
11082
|
+
},
|
|
11083
|
+
{
|
|
11084
|
+
name: "currentAssetAmountOwingByShareholders",
|
|
11085
|
+
type: "number",
|
|
11086
|
+
unit: "MYR",
|
|
11087
|
+
description: "Current assets: amount owing by shareholders."
|
|
11088
|
+
},
|
|
11089
|
+
{
|
|
11090
|
+
name: "currentAssetInventories",
|
|
11091
|
+
type: "number",
|
|
11092
|
+
unit: "MYR",
|
|
11093
|
+
description: "Current assets: inventories."
|
|
11094
|
+
},
|
|
11095
|
+
{
|
|
11096
|
+
name: "currentAssetFinancialAssetAtFairValue",
|
|
11097
|
+
type: "number",
|
|
11098
|
+
unit: "MYR",
|
|
11099
|
+
description: "Current assets: financial asset at fair value."
|
|
11100
|
+
},
|
|
11101
|
+
{
|
|
11102
|
+
name: "currentAssetLandUseRight",
|
|
11103
|
+
type: "number",
|
|
11104
|
+
unit: "MYR",
|
|
11105
|
+
description: "Current assets: land use right."
|
|
11106
|
+
},
|
|
11107
|
+
{
|
|
11108
|
+
name: "currentAssetTaxRecoverable",
|
|
11109
|
+
type: "number",
|
|
11110
|
+
unit: "MYR",
|
|
11111
|
+
description: "Current assets: tax recoverable."
|
|
11112
|
+
},
|
|
11113
|
+
{
|
|
11114
|
+
name: "currentAssetContractAssets",
|
|
11115
|
+
type: "number",
|
|
11116
|
+
unit: "MYR",
|
|
11117
|
+
description: "Current assets: contract assets."
|
|
11118
|
+
},
|
|
11119
|
+
{
|
|
11120
|
+
name: "currentAssetCurrentTaxAssets",
|
|
11121
|
+
type: "number",
|
|
11122
|
+
unit: "MYR",
|
|
11123
|
+
description: "Current assets: current tax assets."
|
|
11124
|
+
},
|
|
11125
|
+
{
|
|
11126
|
+
name: "currentAssetPrepayments",
|
|
11127
|
+
type: "number",
|
|
11128
|
+
unit: "MYR",
|
|
11129
|
+
description: "Current assets: prepayments."
|
|
11130
|
+
},
|
|
11131
|
+
{
|
|
11132
|
+
name: "currentAssetDerivative",
|
|
11133
|
+
type: "number",
|
|
11134
|
+
unit: "MYR",
|
|
11135
|
+
description: "Current assets: derivative."
|
|
11136
|
+
},
|
|
11137
|
+
{
|
|
11138
|
+
name: "currentAssetCashAndBankBalances",
|
|
11139
|
+
type: "number",
|
|
11140
|
+
unit: "MYR",
|
|
11141
|
+
description: "Current assets: cash and bank balances."
|
|
11142
|
+
},
|
|
11143
|
+
{
|
|
11144
|
+
name: "currentAssetOtherReceivables",
|
|
11145
|
+
type: "number",
|
|
11146
|
+
unit: "MYR",
|
|
11147
|
+
description: "Current assets: other receivables."
|
|
11148
|
+
},
|
|
11149
|
+
{
|
|
11150
|
+
name: "currentAssetRestrictedCash",
|
|
11151
|
+
type: "number",
|
|
11152
|
+
unit: "MYR",
|
|
11153
|
+
description: "Current assets: restricted cash."
|
|
11154
|
+
},
|
|
11155
|
+
{
|
|
11156
|
+
name: "currentAssetCashAndCashEquivalents",
|
|
11157
|
+
type: "number",
|
|
11158
|
+
unit: "MYR",
|
|
11159
|
+
description: "Current assets: cash and cash equivalents."
|
|
11160
|
+
},
|
|
11161
|
+
{
|
|
11162
|
+
name: "currentAssetDepositsCashAndBankBalances",
|
|
11163
|
+
type: "number",
|
|
11164
|
+
unit: "MYR",
|
|
11165
|
+
description: "Current assets: deposits cash and bank balances."
|
|
11166
|
+
},
|
|
11167
|
+
{
|
|
11168
|
+
name: "currentAssetCashAtBanks",
|
|
11169
|
+
type: "number",
|
|
11170
|
+
unit: "MYR",
|
|
11171
|
+
description: "Current assets: cash at banks."
|
|
11172
|
+
},
|
|
11173
|
+
{
|
|
11174
|
+
name: "currentAssetCashOnHand",
|
|
11175
|
+
type: "number",
|
|
11176
|
+
unit: "MYR",
|
|
11177
|
+
description: "Current assets: cash on hand."
|
|
11178
|
+
},
|
|
11179
|
+
{
|
|
11180
|
+
name: "currentAssetDepositsAndPrepayments",
|
|
11181
|
+
type: "number",
|
|
11182
|
+
unit: "MYR",
|
|
11183
|
+
description: "Current assets: deposits and prepayments."
|
|
11184
|
+
},
|
|
11185
|
+
{
|
|
11186
|
+
name: "currentAssetTradeAndOtherReceivables",
|
|
11187
|
+
type: "number",
|
|
11188
|
+
unit: "MYR",
|
|
11189
|
+
description: "Current assets: trade and other receivables."
|
|
11190
|
+
},
|
|
11191
|
+
{
|
|
11192
|
+
name: "currentAssetOtherReceivablesDepositsAndPrepayments",
|
|
11193
|
+
type: "number",
|
|
11194
|
+
unit: "MYR",
|
|
11195
|
+
description: "Current assets: other receivables deposits and prepayments."
|
|
11196
|
+
},
|
|
11197
|
+
{
|
|
11198
|
+
name: "currentAssetOtherReceivablesAndDeposits",
|
|
11199
|
+
type: "number",
|
|
11200
|
+
unit: "MYR",
|
|
11201
|
+
description: "Current assets: other receivables and deposits."
|
|
11202
|
+
},
|
|
11203
|
+
{
|
|
11204
|
+
name: "currentAssetOtherReceivablesAndPrepayments",
|
|
11205
|
+
type: "number",
|
|
11206
|
+
unit: "MYR",
|
|
11207
|
+
description: "Current assets: other receivables and prepayments."
|
|
11208
|
+
},
|
|
11209
|
+
{
|
|
11210
|
+
name: "totalCurrentAssets",
|
|
11211
|
+
type: "number",
|
|
11212
|
+
unit: "MYR",
|
|
11213
|
+
description: "Balance-sheet total: current assets."
|
|
11214
|
+
},
|
|
11215
|
+
{
|
|
11216
|
+
name: "totalAssets",
|
|
11217
|
+
type: "number",
|
|
11218
|
+
unit: "MYR",
|
|
11219
|
+
description: "Balance-sheet total: assets."
|
|
11220
|
+
},
|
|
11221
|
+
{
|
|
11222
|
+
name: "currentLiabilitiesTradeCreditors",
|
|
11223
|
+
type: "number",
|
|
11224
|
+
unit: "MYR",
|
|
11225
|
+
description: "Current liabilities: trade creditors."
|
|
11226
|
+
},
|
|
11227
|
+
{
|
|
11228
|
+
name: "currentLiabilitiesHirePurchasePayables",
|
|
11229
|
+
type: "number",
|
|
11230
|
+
unit: "MYR",
|
|
11231
|
+
description: "Current liabilities: hire purchase payables."
|
|
11232
|
+
},
|
|
11233
|
+
{
|
|
11234
|
+
name: "currentLiabilitiesBankOverdraft",
|
|
11235
|
+
type: "number",
|
|
11236
|
+
unit: "MYR",
|
|
11237
|
+
description: "Current liabilities: bank overdraft."
|
|
11238
|
+
},
|
|
11239
|
+
{
|
|
11240
|
+
name: "currentLiabilitiesBankAcceptance",
|
|
11241
|
+
type: "number",
|
|
11242
|
+
unit: "MYR",
|
|
11243
|
+
description: "Current liabilities: bank acceptance."
|
|
11244
|
+
},
|
|
11245
|
+
{
|
|
11246
|
+
name: "currentLiabilitiesBorrowingsOrTermLoans",
|
|
11247
|
+
type: "number",
|
|
11248
|
+
unit: "MYR",
|
|
11249
|
+
description: "Current liabilities: borrowings or term loans."
|
|
11250
|
+
},
|
|
11251
|
+
{
|
|
11252
|
+
name: "currentLiabilitiesBankborrowings",
|
|
11253
|
+
type: "number",
|
|
11254
|
+
unit: "MYR",
|
|
11255
|
+
description: "Current liabilities: bank borrowings."
|
|
11256
|
+
},
|
|
11257
|
+
{
|
|
11258
|
+
name: "currentLiabilitiesAmountsOwingToHoldingCompany",
|
|
11259
|
+
type: "number",
|
|
11260
|
+
unit: "MYR",
|
|
11261
|
+
description: "Current liabilities: amounts owing to holding company."
|
|
11262
|
+
},
|
|
11263
|
+
{
|
|
11264
|
+
name: "currentLiabilitiesAmountsOwingToSubsidiaryCompanies",
|
|
11265
|
+
type: "number",
|
|
11266
|
+
unit: "MYR",
|
|
11267
|
+
description: "Current liabilities: amounts owing to subsidiary companies."
|
|
11268
|
+
},
|
|
11269
|
+
{
|
|
11270
|
+
name: "currentLiabilitiesAmountOwingToAssociatedCompanies",
|
|
11271
|
+
type: "number",
|
|
11272
|
+
unit: "MYR",
|
|
11273
|
+
description: "Current liabilities: amount owing to associated companies."
|
|
11274
|
+
},
|
|
11275
|
+
{
|
|
11276
|
+
name: "currentLiabilitiesAmountsOwingToDirector",
|
|
11277
|
+
type: "number",
|
|
11278
|
+
unit: "MYR",
|
|
11279
|
+
description: "Current liabilities: amounts owing to director."
|
|
11280
|
+
},
|
|
11281
|
+
{
|
|
11282
|
+
name: "currentLiabilitiesProvisionForTaxation",
|
|
11283
|
+
type: "number",
|
|
11284
|
+
unit: "MYR",
|
|
11285
|
+
description: "Current liabilities: provision for taxation."
|
|
11286
|
+
},
|
|
11287
|
+
{
|
|
11288
|
+
name: "currentLiabilitiesLeasePayables",
|
|
11289
|
+
type: "number",
|
|
11290
|
+
unit: "MYR",
|
|
11291
|
+
description: "Current liabilities: lease payables."
|
|
11292
|
+
},
|
|
11293
|
+
{
|
|
11294
|
+
name: "currentLiabilitiesFinanceLeasePayables",
|
|
11295
|
+
type: "number",
|
|
11296
|
+
unit: "MYR",
|
|
11297
|
+
description: "Current liabilities: finance lease payables."
|
|
11298
|
+
},
|
|
11299
|
+
{
|
|
11300
|
+
name: "currentLiabilitiesOtherPayables",
|
|
11301
|
+
type: "number",
|
|
11302
|
+
unit: "MYR",
|
|
11303
|
+
description: "Current liabilities: other payables."
|
|
11304
|
+
},
|
|
11305
|
+
{
|
|
11306
|
+
name: "currentLiabilitiesDividendPayables",
|
|
11307
|
+
type: "number",
|
|
11308
|
+
unit: "MYR",
|
|
11309
|
+
description: "Current liabilities: dividend payables."
|
|
11310
|
+
},
|
|
11311
|
+
{
|
|
11312
|
+
name: "currentLiabilitiesTradeAndOtherPayables",
|
|
11313
|
+
type: "number",
|
|
11314
|
+
unit: "MYR",
|
|
11315
|
+
description: "Current liabilities: trade and other payables."
|
|
11316
|
+
},
|
|
11317
|
+
{
|
|
11318
|
+
name: "currentLiabilitiesDepositsFromCustomers",
|
|
11319
|
+
type: "number",
|
|
11320
|
+
unit: "MYR",
|
|
11321
|
+
description: "Current liabilities: deposits from customers."
|
|
11322
|
+
},
|
|
11323
|
+
{
|
|
11324
|
+
name: "currentLiabilitiesOtherPayablesAccrualsAndDeposits",
|
|
11325
|
+
type: "number",
|
|
11326
|
+
unit: "MYR",
|
|
11327
|
+
description: "Current liabilities: other payables accruals and deposits."
|
|
11328
|
+
},
|
|
11329
|
+
{
|
|
11330
|
+
name: "currentLiabilitiesOtherPayablesAndAccruals",
|
|
11331
|
+
type: "number",
|
|
11332
|
+
unit: "MYR",
|
|
11333
|
+
description: "Current liabilities: other payables and accruals."
|
|
11334
|
+
},
|
|
11335
|
+
{
|
|
11336
|
+
name: "currentLiabilitiesContractLiabilities",
|
|
11337
|
+
type: "number",
|
|
11338
|
+
unit: "MYR",
|
|
11339
|
+
description: "Current liabilities: contract liabilities."
|
|
11340
|
+
},
|
|
11341
|
+
{
|
|
11342
|
+
name: "currentLiabilitiesDerivative",
|
|
11343
|
+
type: "number",
|
|
11344
|
+
unit: "MYR",
|
|
11345
|
+
description: "Current liabilities: derivative."
|
|
11346
|
+
},
|
|
11347
|
+
{
|
|
11348
|
+
name: "totalCurrentLiabilities",
|
|
11349
|
+
type: "number",
|
|
11350
|
+
unit: "MYR",
|
|
11351
|
+
description: "Balance-sheet total: current liabilities."
|
|
11352
|
+
},
|
|
11353
|
+
{
|
|
11354
|
+
name: "shortTermLiabilities",
|
|
11355
|
+
type: "number",
|
|
11356
|
+
unit: "MYR",
|
|
11357
|
+
description: "Balance-sheet total: short-term liabilities."
|
|
11358
|
+
},
|
|
11359
|
+
{
|
|
11360
|
+
name: "nonCurrentLiabilitiesBorrowingsOrTermLoans",
|
|
11361
|
+
type: "number",
|
|
11362
|
+
unit: "MYR",
|
|
11363
|
+
description: "Non-current liabilities: borrowings or term loans."
|
|
11364
|
+
},
|
|
11365
|
+
{
|
|
11366
|
+
name: "nonCurrentLiabilitiesBankBorrowings",
|
|
11367
|
+
type: "number",
|
|
11368
|
+
unit: "MYR",
|
|
11369
|
+
description: "Non-current liabilities: bank borrowings."
|
|
11370
|
+
},
|
|
11371
|
+
{
|
|
11372
|
+
name: "nonCurrentLiabilitiesLeaseObligations",
|
|
11373
|
+
type: "number",
|
|
11374
|
+
unit: "MYR",
|
|
11375
|
+
description: "Non-current liabilities: lease obligations."
|
|
11376
|
+
},
|
|
11377
|
+
{
|
|
11378
|
+
name: "nonCurrentLiabilitiesFinanceLeaseObligations",
|
|
11379
|
+
type: "number",
|
|
11380
|
+
unit: "MYR",
|
|
11381
|
+
description: "Non-current liabilities: finance lease obligations."
|
|
11382
|
+
},
|
|
11383
|
+
{
|
|
11384
|
+
name: "nonCurrentLiabilitiesDeferredTaxation",
|
|
11385
|
+
type: "number",
|
|
11386
|
+
unit: "MYR",
|
|
11387
|
+
description: "Non-current liabilities: deferred taxation."
|
|
11388
|
+
},
|
|
11389
|
+
{
|
|
11390
|
+
name: "nonCurrentLiabilitiesRetirementBenefits",
|
|
11391
|
+
type: "number",
|
|
11392
|
+
unit: "MYR",
|
|
11393
|
+
description: "Non-current liabilities: retirement benefits."
|
|
11394
|
+
},
|
|
11395
|
+
{
|
|
11396
|
+
name: "nonCurrentLiabilitiesHirePurchasePayables",
|
|
11397
|
+
type: "number",
|
|
11398
|
+
unit: "MYR",
|
|
11399
|
+
description: "Non-current liabilities: hire purchase payables."
|
|
11400
|
+
},
|
|
11401
|
+
{
|
|
11402
|
+
name: "nonCurrentLiabilitiesDepositsFromCustomers",
|
|
11403
|
+
type: "number",
|
|
11404
|
+
unit: "MYR",
|
|
11405
|
+
description: "Non-current liabilities: deposits from customers."
|
|
11406
|
+
},
|
|
11407
|
+
{
|
|
11408
|
+
name: "nonCurrentLiabilitiesContractLiabilities",
|
|
11409
|
+
type: "number",
|
|
11410
|
+
unit: "MYR",
|
|
11411
|
+
description: "Non-current liabilities: contract liabilities."
|
|
11412
|
+
},
|
|
11413
|
+
{
|
|
11414
|
+
name: "totalNonCurrentLiabilities",
|
|
11415
|
+
type: "number",
|
|
11416
|
+
unit: "MYR",
|
|
11417
|
+
description: "Balance-sheet total: non-current liabilities."
|
|
11418
|
+
},
|
|
11419
|
+
{
|
|
11420
|
+
name: "totalLiabilities",
|
|
11421
|
+
type: "number",
|
|
11422
|
+
unit: "MYR",
|
|
11423
|
+
description: "Balance-sheet total: liabilities."
|
|
11424
|
+
},
|
|
11425
|
+
{
|
|
11426
|
+
name: "shareCapital",
|
|
11427
|
+
type: "number",
|
|
11428
|
+
unit: "MYR",
|
|
11429
|
+
description: "Equity: share capital."
|
|
11430
|
+
},
|
|
11431
|
+
{
|
|
11432
|
+
name: "preferenceShareCapital",
|
|
11433
|
+
type: "number",
|
|
11434
|
+
unit: "MYR",
|
|
11435
|
+
description: "Equity: preference share capital."
|
|
11436
|
+
},
|
|
11437
|
+
{
|
|
11438
|
+
name: "sharePremium",
|
|
11439
|
+
type: "number",
|
|
11440
|
+
unit: "MYR",
|
|
11441
|
+
description: "Equity: share premium."
|
|
11442
|
+
},
|
|
11443
|
+
{
|
|
11444
|
+
name: "reserves",
|
|
11445
|
+
type: "number",
|
|
11446
|
+
unit: "MYR",
|
|
11447
|
+
description: "Equity: reserves."
|
|
11448
|
+
},
|
|
11449
|
+
{
|
|
11450
|
+
name: "capitalReserves",
|
|
11451
|
+
type: "number",
|
|
11452
|
+
unit: "MYR",
|
|
11453
|
+
description: "Equity: capital reserves."
|
|
11454
|
+
},
|
|
11455
|
+
{
|
|
11456
|
+
name: "revaluationReserves",
|
|
11457
|
+
type: "number",
|
|
11458
|
+
unit: "MYR",
|
|
11459
|
+
description: "Equity: revaluation reserves."
|
|
11460
|
+
},
|
|
11461
|
+
{
|
|
11462
|
+
name: "exchangeEqualisationOrFluctuationReserves",
|
|
11463
|
+
type: "number",
|
|
11464
|
+
unit: "MYR",
|
|
11465
|
+
description: "Equity: exchange equalisation or fluctuation reserves."
|
|
11466
|
+
},
|
|
11467
|
+
{
|
|
11468
|
+
name: "retainedEarnings",
|
|
11469
|
+
type: "number",
|
|
11470
|
+
unit: "MYR",
|
|
11471
|
+
description: "Equity: retained earnings."
|
|
11472
|
+
},
|
|
11473
|
+
{
|
|
11474
|
+
name: "totalEquity",
|
|
11475
|
+
type: "number",
|
|
11476
|
+
unit: "MYR",
|
|
11477
|
+
description: "Balance-sheet total: equity."
|
|
11478
|
+
},
|
|
11479
|
+
{
|
|
11480
|
+
name: "revenue",
|
|
11481
|
+
type: "number",
|
|
11482
|
+
unit: "MYR",
|
|
11483
|
+
description: "Income statement: revenue."
|
|
11484
|
+
},
|
|
11485
|
+
{
|
|
11486
|
+
name: "costOfGoodsSold",
|
|
11487
|
+
type: "number",
|
|
11488
|
+
unit: "MYR",
|
|
11489
|
+
description: "Income statement: cost of goods sold."
|
|
11490
|
+
},
|
|
11491
|
+
{
|
|
11492
|
+
name: "grossProfit",
|
|
11493
|
+
type: "number",
|
|
11494
|
+
unit: "MYR",
|
|
11495
|
+
description: "Income statement: gross profit."
|
|
11496
|
+
},
|
|
11497
|
+
{
|
|
11498
|
+
name: "otherIncome",
|
|
11499
|
+
type: "number",
|
|
11500
|
+
unit: "MYR",
|
|
11501
|
+
description: "Income statement: other income."
|
|
11502
|
+
},
|
|
11503
|
+
{
|
|
11504
|
+
name: "profitFromOperations",
|
|
11505
|
+
type: "number",
|
|
11506
|
+
unit: "MYR",
|
|
11507
|
+
description: "Income statement: profit from operations."
|
|
11508
|
+
},
|
|
11509
|
+
{
|
|
11510
|
+
name: "financeCost",
|
|
11511
|
+
type: "number",
|
|
11512
|
+
unit: "MYR",
|
|
11513
|
+
description: "Income statement: finance cost."
|
|
11514
|
+
},
|
|
11515
|
+
{
|
|
11516
|
+
name: "ebitda",
|
|
11517
|
+
type: "number",
|
|
11518
|
+
unit: "MYR",
|
|
11519
|
+
description: "Income statement: profit before tax (extracted from the statement's profit-before-tax line; canonical name kept verbatim from the host vocabulary)."
|
|
11520
|
+
},
|
|
11521
|
+
{
|
|
11522
|
+
name: "taxes",
|
|
11523
|
+
type: "number",
|
|
11524
|
+
unit: "MYR",
|
|
11525
|
+
description: "Income statement: taxes."
|
|
11526
|
+
},
|
|
11527
|
+
{
|
|
11528
|
+
name: "zakat",
|
|
11529
|
+
type: "number",
|
|
11530
|
+
unit: "MYR",
|
|
11531
|
+
description: "Income statement: zakat."
|
|
11532
|
+
},
|
|
11533
|
+
{
|
|
11534
|
+
name: "profitAfterTax",
|
|
11535
|
+
type: "number",
|
|
11536
|
+
unit: "MYR",
|
|
11537
|
+
description: "Income statement: profit after tax."
|
|
11538
|
+
},
|
|
11539
|
+
{
|
|
11540
|
+
name: "netProfit",
|
|
11541
|
+
type: "number",
|
|
11542
|
+
unit: "MYR",
|
|
11543
|
+
description: "Income statement: total comprehensive income for the financial year."
|
|
11544
|
+
},
|
|
11545
|
+
{
|
|
11546
|
+
name: "netOperatingCashFlow",
|
|
11547
|
+
type: "number",
|
|
11548
|
+
unit: "MYR",
|
|
11549
|
+
description: "Cash-flow statement: net cash flow used in / generated from operating activities."
|
|
11550
|
+
},
|
|
11551
|
+
{
|
|
11552
|
+
name: "depreciation",
|
|
11553
|
+
type: "number",
|
|
11554
|
+
unit: "MYR",
|
|
11555
|
+
description: "Cash-flow statement: depreciation."
|
|
11556
|
+
},
|
|
11557
|
+
{
|
|
11558
|
+
name: "depreciationOfPropertyPlantEquipment",
|
|
11559
|
+
type: "number",
|
|
11560
|
+
unit: "MYR",
|
|
11561
|
+
description: "Cash-flow statement: depreciation of property plant equipment."
|
|
11562
|
+
},
|
|
11563
|
+
{
|
|
11564
|
+
name: "depreciationRightOfUseAssets",
|
|
11565
|
+
type: "number",
|
|
11566
|
+
unit: "MYR",
|
|
11567
|
+
description: "Cash-flow statement: depreciation right of use assets."
|
|
11568
|
+
},
|
|
11569
|
+
{
|
|
11570
|
+
name: "depreciationOfInvestmentProperties",
|
|
11571
|
+
type: "number",
|
|
11572
|
+
unit: "MYR",
|
|
11573
|
+
description: "Cash-flow statement: depreciation of investment properties."
|
|
11574
|
+
},
|
|
11575
|
+
{
|
|
11576
|
+
name: "depreciationOfInvestmentSecurities",
|
|
11577
|
+
type: "number",
|
|
11578
|
+
unit: "MYR",
|
|
11579
|
+
description: "Cash-flow statement: depreciation of investment securities."
|
|
11580
|
+
},
|
|
11581
|
+
{
|
|
11582
|
+
name: "endOfYearCash",
|
|
11583
|
+
type: "number",
|
|
11584
|
+
unit: "MYR",
|
|
11585
|
+
description: "Cash-flow statement: cash and cash equivalents at the end of the financial year."
|
|
11586
|
+
}
|
|
11587
|
+
]
|
|
11588
|
+
},
|
|
11589
|
+
{
|
|
11590
|
+
id: "finxtract-form9",
|
|
11591
|
+
displayName: "SSM Form 9 (Document Extraction)",
|
|
11592
|
+
description: "Fields extracted from an uploaded SSM Form 9 (Certificate of Incorporation of Private Company) document by the host's extraction pipeline. One instance per uploaded document. The company name and incorporation date are attestations of shared facts \u2014 the company-profile and financial-statement extraction categories attest the same real-world facts from their own documents.",
|
|
11593
|
+
canonicalTable: "ihs_alt_data_form9",
|
|
11594
|
+
fields: [
|
|
11595
|
+
{
|
|
11596
|
+
name: "companyName",
|
|
11597
|
+
type: "string",
|
|
11598
|
+
fact: "companyName",
|
|
11599
|
+
description: "Company name as printed on the certificate. Attestation of the shared companyName fact."
|
|
11600
|
+
},
|
|
11601
|
+
{
|
|
11602
|
+
name: "companyRegNo",
|
|
11603
|
+
type: "string",
|
|
11604
|
+
description: "Company registration number as printed on the certificate."
|
|
11605
|
+
},
|
|
11606
|
+
{
|
|
11607
|
+
name: "companyIncorporationDate",
|
|
11608
|
+
type: "string",
|
|
11609
|
+
fact: "companyIncorporationDate",
|
|
11610
|
+
description: "Date of incorporation as printed on the certificate, normalized to ISO YYYY-MM-DD. Attestation of the shared companyIncorporationDate fact \u2014 a company has exactly one incorporation date regardless of which document it was extracted from."
|
|
11611
|
+
}
|
|
11612
|
+
]
|
|
11613
|
+
},
|
|
11614
|
+
{
|
|
11615
|
+
id: "finxtract-ssm",
|
|
11616
|
+
displayName: "SSM Company Profile (Document Extraction)",
|
|
11617
|
+
description: "Fields extracted from an uploaded SSM company-profile document (company or business registration extract) by the host's extraction pipeline. One instance per uploaded document. Covers registration identity, status, key dates, registered address, capital, and the officer/shareholder registers. The incorporation date is an attestation of a shared fact \u2014 the Form 9 extraction category attests the same real-world fact from its own document.",
|
|
11618
|
+
canonicalTable: "ihs_alt_data_ssm",
|
|
11619
|
+
fields: [
|
|
11620
|
+
{
|
|
11621
|
+
name: "ssmCompanyEntityType",
|
|
11622
|
+
type: "string",
|
|
11623
|
+
description: "Entity type stated on the profile (e.g. private limited company, enterprise)."
|
|
11624
|
+
},
|
|
11625
|
+
{
|
|
11626
|
+
name: "ssmCompanyName",
|
|
11627
|
+
type: "string",
|
|
11628
|
+
description: "Business or company name as stated on the profile."
|
|
11629
|
+
},
|
|
11630
|
+
{
|
|
11631
|
+
name: "ssmCompanyRegNo",
|
|
11632
|
+
type: "string",
|
|
11633
|
+
description: "Business or company registration number as stated on the profile."
|
|
11634
|
+
},
|
|
11635
|
+
{
|
|
11636
|
+
name: "companyStatus",
|
|
11637
|
+
type: "string",
|
|
11638
|
+
description: "Registration status as stated on the profile (e.g. existing, dissolved)."
|
|
11639
|
+
},
|
|
11640
|
+
{
|
|
11641
|
+
name: "businessOrigin",
|
|
11642
|
+
type: "string",
|
|
11643
|
+
description: "Business origin as stated on the profile."
|
|
11644
|
+
},
|
|
11645
|
+
{
|
|
11646
|
+
name: "companyIncorporationDate",
|
|
11647
|
+
type: "string",
|
|
11648
|
+
fact: "companyIncorporationDate",
|
|
11649
|
+
description: "Incorporation (or registration) date as stated on the profile, normalized to ISO YYYY-MM-DD. Attestation of the shared companyIncorporationDate fact \u2014 a company has exactly one incorporation date regardless of which document it was extracted from."
|
|
11650
|
+
},
|
|
11651
|
+
{
|
|
11652
|
+
name: "businessCommencementDate",
|
|
11653
|
+
type: "string",
|
|
11654
|
+
description: "Business commencement (or start) date as stated on the profile, normalized to ISO YYYY-MM-DD."
|
|
11655
|
+
},
|
|
11656
|
+
{
|
|
11657
|
+
name: "businessNature",
|
|
11658
|
+
type: "string",
|
|
11659
|
+
description: "Nature of business as stated on the profile."
|
|
11660
|
+
},
|
|
11661
|
+
{
|
|
11662
|
+
name: "registeredAddress",
|
|
11663
|
+
type: "string",
|
|
11664
|
+
description: "Registered business address as stated on the profile."
|
|
11665
|
+
},
|
|
11666
|
+
{
|
|
11667
|
+
name: "totalShareIssued",
|
|
11668
|
+
type: "number",
|
|
11669
|
+
description: "Total shares issued as stated on the profile."
|
|
11670
|
+
},
|
|
11671
|
+
{
|
|
11672
|
+
name: "ssmPaidUpCapital",
|
|
11673
|
+
type: "number",
|
|
11674
|
+
unit: "MYR",
|
|
11675
|
+
description: "Paid-up capital as stated on the profile (falls back to total shares issued when the profile omits an explicit paid-up figure)."
|
|
11676
|
+
},
|
|
11677
|
+
{
|
|
11678
|
+
name: "directors",
|
|
11679
|
+
type: "string",
|
|
11680
|
+
description: "JSON-encoded list of current directors/officers (for enterprises, the business owner normalized into the same shape)."
|
|
11681
|
+
},
|
|
11682
|
+
{
|
|
11683
|
+
name: "shareholders",
|
|
11684
|
+
type: "string",
|
|
11685
|
+
description: "JSON-encoded list of shareholders (for enterprises, the business owner normalized into the same shape)."
|
|
11686
|
+
},
|
|
11687
|
+
{
|
|
11688
|
+
name: "previousDirectors",
|
|
11689
|
+
type: "string",
|
|
11690
|
+
description: "JSON-encoded list of previous directors/officers."
|
|
11691
|
+
},
|
|
11692
|
+
{
|
|
11693
|
+
name: "companyLastOldName",
|
|
11694
|
+
type: "string",
|
|
11695
|
+
description: "The company's most recent former name, when the profile records a name change."
|
|
11696
|
+
},
|
|
11697
|
+
{
|
|
11698
|
+
name: "companyNameDateOfChange",
|
|
11699
|
+
type: "string",
|
|
11700
|
+
description: "Date of the most recent name change, normalized to ISO YYYY-MM-DD."
|
|
11701
|
+
}
|
|
11702
|
+
]
|
|
10853
11703
|
}
|
|
10854
11704
|
]
|
|
10855
11705
|
};
|
|
@@ -10872,6 +11722,9 @@ function buildCategoryRegistry(raw) {
|
|
|
10872
11722
|
}
|
|
10873
11723
|
const byId = /* @__PURE__ */ new Map();
|
|
10874
11724
|
const fieldToCategory = /* @__PURE__ */ new Map();
|
|
11725
|
+
const fieldToFact = /* @__PURE__ */ new Map();
|
|
11726
|
+
const factToCategories = /* @__PURE__ */ new Map();
|
|
11727
|
+
const declarations = /* @__PURE__ */ new Map();
|
|
10875
11728
|
const tables = /* @__PURE__ */ new Set();
|
|
10876
11729
|
const all = [];
|
|
10877
11730
|
for (const cat of raw.categories) {
|
|
@@ -10906,11 +11759,34 @@ function buildCategoryRegistry(raw) {
|
|
|
10906
11759
|
if (typeof f.name !== "string" || f.name.length === 0) {
|
|
10907
11760
|
throw new Error(`adapter category data: ${where} has a field with no name`);
|
|
10908
11761
|
}
|
|
10909
|
-
if (
|
|
11762
|
+
if (f.fact !== void 0 && (typeof f.fact !== "string" || f.fact.length === 0)) {
|
|
10910
11763
|
throw new Error(
|
|
10911
|
-
`adapter category data:
|
|
11764
|
+
`adapter category data: field "${f.name}" (${where}) has an invalid fact \u2014 expected a non-empty string`
|
|
10912
11765
|
);
|
|
10913
11766
|
}
|
|
11767
|
+
const prior = declarations.get(f.name);
|
|
11768
|
+
if (prior) {
|
|
11769
|
+
if (prior.categories.includes(cat.id)) {
|
|
11770
|
+
throw new Error(
|
|
11771
|
+
`adapter category data: ${where} declares field "${f.name}" more than once`
|
|
11772
|
+
);
|
|
11773
|
+
}
|
|
11774
|
+
if (prior.fact === void 0 || f.fact === void 0 || prior.fact !== f.fact) {
|
|
11775
|
+
const describeFact = (fact) => fact === void 0 ? "no fact" : `fact "${fact}"`;
|
|
11776
|
+
throw new Error(
|
|
11777
|
+
`adapter category data: canonical field "${f.name}" declared by more than one category (${prior.categories.join(" + ")} with ${describeFact(prior.fact)} + ${cat.id} with ${describeFact(f.fact)}) \u2014 field names must be globally unique unless every declaring category attests the same fact`
|
|
11778
|
+
);
|
|
11779
|
+
}
|
|
11780
|
+
}
|
|
11781
|
+
if (f.fact !== void 0) {
|
|
11782
|
+
for (const [otherName, otherFact] of fieldToFact) {
|
|
11783
|
+
if (otherFact === f.fact && otherName !== f.name) {
|
|
11784
|
+
throw new Error(
|
|
11785
|
+
`adapter category data: fact "${f.fact}" is carried by two different field names ("${otherName}" + "${f.name}") \u2014 a fact id must map to exactly one canonical field name`
|
|
11786
|
+
);
|
|
11787
|
+
}
|
|
11788
|
+
}
|
|
11789
|
+
}
|
|
10914
11790
|
if (!VALID_FIELD_TYPES.includes(f.type)) {
|
|
10915
11791
|
throw new Error(
|
|
10916
11792
|
`adapter category data: field "${f.name}" (${where}) has invalid type "${f.type}"`
|
|
@@ -10933,10 +11809,26 @@ function buildCategoryRegistry(raw) {
|
|
|
10933
11809
|
type: f.type,
|
|
10934
11810
|
...f.unit !== void 0 ? { unit: f.unit } : {},
|
|
10935
11811
|
...f.range !== void 0 ? { range: Object.freeze([f.range[0], f.range[1]]) } : {},
|
|
10936
|
-
description: f.description
|
|
11812
|
+
description: f.description,
|
|
11813
|
+
...f.fact !== void 0 ? { fact: f.fact } : {}
|
|
10937
11814
|
});
|
|
10938
11815
|
fields.push(spec);
|
|
10939
|
-
|
|
11816
|
+
if (prior) {
|
|
11817
|
+
prior.categories.push(cat.id);
|
|
11818
|
+
fieldToCategory.delete(f.name);
|
|
11819
|
+
} else {
|
|
11820
|
+
declarations.set(f.name, { fact: f.fact, categories: [cat.id] });
|
|
11821
|
+
fieldToCategory.set(f.name, cat.id);
|
|
11822
|
+
}
|
|
11823
|
+
if (f.fact !== void 0) {
|
|
11824
|
+
fieldToFact.set(f.name, f.fact);
|
|
11825
|
+
const attesters = factToCategories.get(f.fact);
|
|
11826
|
+
if (attesters) {
|
|
11827
|
+
attesters.push(cat.id);
|
|
11828
|
+
} else {
|
|
11829
|
+
factToCategories.set(f.fact, [cat.id]);
|
|
11830
|
+
}
|
|
11831
|
+
}
|
|
10940
11832
|
}
|
|
10941
11833
|
const schema = Object.freeze({
|
|
10942
11834
|
id: cat.id,
|
|
@@ -10953,7 +11845,14 @@ function buildCategoryRegistry(raw) {
|
|
|
10953
11845
|
all: Object.freeze(all),
|
|
10954
11846
|
ids: Object.freeze(all.map((c) => c.id)),
|
|
10955
11847
|
byId,
|
|
10956
|
-
fieldToCategory
|
|
11848
|
+
fieldToCategory,
|
|
11849
|
+
fieldToFact,
|
|
11850
|
+
factToCategories: new Map(
|
|
11851
|
+
[...factToCategories].map(([fact, cats]) => [
|
|
11852
|
+
fact,
|
|
11853
|
+
Object.freeze(cats)
|
|
11854
|
+
])
|
|
11855
|
+
)
|
|
10957
11856
|
});
|
|
10958
11857
|
}
|
|
10959
11858
|
var registry = buildCategoryRegistry(adapter_categories_default);
|
|
@@ -10976,6 +11875,12 @@ function allCategories() {
|
|
|
10976
11875
|
function categoryForField(field) {
|
|
10977
11876
|
return registry.fieldToCategory.get(field) ?? null;
|
|
10978
11877
|
}
|
|
11878
|
+
function factOf(field) {
|
|
11879
|
+
return registry.fieldToFact.get(field) ?? null;
|
|
11880
|
+
}
|
|
11881
|
+
function categoriesAttestingFact(factId) {
|
|
11882
|
+
return registry.factToCategories.get(factId) ?? [];
|
|
11883
|
+
}
|
|
10979
11884
|
function isAdapterCategory(id) {
|
|
10980
11885
|
return registry.byId.has(id);
|
|
10981
11886
|
}
|
|
@@ -11019,11 +11924,13 @@ export {
|
|
|
11019
11924
|
buildDocumentRows,
|
|
11020
11925
|
buildFileFieldTables,
|
|
11021
11926
|
buildFileFieldTablesFromInstances,
|
|
11927
|
+
categoriesAttestingFact,
|
|
11022
11928
|
categoryFieldsOf,
|
|
11023
11929
|
categoryForField,
|
|
11024
11930
|
categorySchemaOf,
|
|
11025
11931
|
evaluateExpression,
|
|
11026
11932
|
extractTimePeriods,
|
|
11933
|
+
factOf,
|
|
11027
11934
|
formatDocumentSize,
|
|
11028
11935
|
formatDocumentType,
|
|
11029
11936
|
formatDocumentUploaded,
|