@nfdi4plants/arctrl 2.2.4 → 2.3.1
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/ARC.js +160 -23
- package/CWL/CWLTypes.js +3 -3
- package/CWL/Decode.js +7 -7
- package/CWL/Inputs.js +4 -4
- package/CWL/Outputs.js +4 -4
- package/CWL/Requirements.js +3 -3
- package/CWL/ToolDescription.js +2 -2
- package/CWL/WorkflowDescription.js +2 -2
- package/CWL/WorkflowSteps.js +3 -3
- package/Contract/ArcAssay.js +4 -4
- package/Contract/ArcInvestigation.js +2 -2
- package/Contract/ArcStudy.js +4 -4
- package/Contract/Contract.js +3 -3
- package/Contract/Datamap.js +2 -2
- package/Contract/Git.js +4 -4
- package/Contract/ValidationPackagesConfig.js +2 -2
- package/ContractIO/ContractIO.js +204 -0
- package/ContractIO/FileSystemHelper.js +130 -0
- package/Core/ArcTypes.js +9 -9
- package/Core/Comment.js +8 -8
- package/Core/CommentList.js +4 -4
- package/Core/Conversion.js +10 -10
- package/Core/Data.js +5 -5
- package/Core/DataContext.js +2 -2
- package/Core/DataFile.js +2 -2
- package/Core/DataMap.js +3 -3
- package/Core/Helper/Collections.js +8 -8
- package/Core/Helper/HashCodes.js +5 -5
- package/Core/Helper/Identifier.js +1 -1
- package/Core/Helper/Regex.js +3 -3
- package/Core/Helper/SemVer.js +6 -6
- package/Core/OntologyAnnotation.js +7 -7
- package/Core/OntologySourceReference.js +3 -3
- package/Core/Person.js +9 -9
- package/Core/Process/ColumnIndex.js +5 -5
- package/Core/Process/Component.js +4 -4
- package/Core/Process/Factor.js +5 -5
- package/Core/Process/FactorValue.js +5 -5
- package/Core/Process/Material.js +5 -5
- package/Core/Process/MaterialAttribute.js +3 -3
- package/Core/Process/MaterialAttributeValue.js +5 -5
- package/Core/Process/MaterialType.js +2 -2
- package/Core/Process/Process.js +8 -8
- package/Core/Process/ProcessInput.js +5 -5
- package/Core/Process/ProcessOutput.js +5 -5
- package/Core/Process/ProcessParameterValue.js +5 -5
- package/Core/Process/ProcessSequence.js +6 -6
- package/Core/Process/Protocol.js +5 -5
- package/Core/Process/ProtocolParameter.js +3 -3
- package/Core/Process/Sample.js +5 -5
- package/Core/Process/Source.js +5 -5
- package/Core/Publication.js +8 -8
- package/Core/Table/ArcTable.js +13 -13
- package/Core/Table/ArcTableAux.js +15 -15
- package/Core/Table/ArcTables.js +9 -9
- package/Core/Table/CompositeCell.js +3 -3
- package/Core/Table/CompositeColumn.js +4 -4
- package/Core/Table/CompositeHeader.js +4 -4
- package/Core/Template.js +6 -6
- package/Core/Templates.js +6 -6
- package/Core/Value.js +7 -7
- package/CrossAsync.js +34 -0
- package/FileSystem/Commit.js +2 -2
- package/FileSystem/FileSystem.js +4 -4
- package/FileSystem/FileSystemTree.js +8 -8
- package/FileSystem/Path.js +2 -2
- package/FileSystem.js +102 -0
- package/Json/ARC.js +3 -3
- package/Json/Assay.js +4 -4
- package/Json/Comment.js +5 -5
- package/Json/ConverterOptions.js +2 -2
- package/Json/Data.js +4 -4
- package/Json/DataFile.js +1 -1
- package/Json/DataMap/DataContext.js +3 -3
- package/Json/DataMap/DataMap.js +1 -1
- package/Json/Decode.js +9 -9
- package/Json/Encode.js +5 -5
- package/Json/IDTable.js +3 -3
- package/Json/Investigation.js +5 -5
- package/Json/LDObject.js +6 -6
- package/Json/OntologyAnnotation.js +5 -5
- package/Json/OntologySourceReference.js +4 -4
- package/Json/Person.js +5 -5
- package/Json/Process/AssayMaterials.js +3 -3
- package/Json/Process/Component.js +3 -3
- package/Json/Process/Factor.js +3 -3
- package/Json/Process/FactorValue.js +3 -3
- package/Json/Process/Material.js +4 -4
- package/Json/Process/MaterialAttribute.js +3 -3
- package/Json/Process/MaterialAttributeValue.js +3 -3
- package/Json/Process/MaterialType.js +1 -1
- package/Json/Process/Process.js +4 -4
- package/Json/Process/ProcessInput.js +1 -1
- package/Json/Process/ProcessOutput.js +1 -1
- package/Json/Process/ProcessParameterValue.js +3 -3
- package/Json/Process/Protocol.js +4 -4
- package/Json/Process/ProtocolParameter.js +3 -3
- package/Json/Process/Sample.js +5 -5
- package/Json/Process/Source.js +4 -4
- package/Json/Process/StudyMaterials.js +3 -3
- package/Json/Process/Value.js +1 -1
- package/Json/PropertyValue.js +3 -3
- package/Json/Publication.js +4 -4
- package/Json/StringTable.js +4 -4
- package/Json/Study.js +5 -5
- package/Json/Table/ArcTable.js +10 -10
- package/Json/Table/CellTable.js +4 -4
- package/Json/Table/CompositeCell.js +3 -3
- package/Json/Table/CompositeHeader.js +2 -2
- package/Json/Table/IOType.js +1 -1
- package/Json/Table/OATable.js +4 -4
- package/Json/Table/Templates.js +5 -5
- package/Json/context/rocrate/isa_assay_context.js +3 -3
- package/Json/context/rocrate/isa_comment_context.js +3 -3
- package/Json/context/rocrate/isa_component_context.js +3 -3
- package/Json/context/rocrate/isa_data_context.js +3 -3
- package/Json/context/rocrate/isa_factor_context.js +3 -3
- package/Json/context/rocrate/isa_factor_value_context.js +3 -3
- package/Json/context/rocrate/isa_investigation_context.js +3 -3
- package/Json/context/rocrate/isa_material_attribute_context.js +3 -3
- package/Json/context/rocrate/isa_material_attribute_value_context.js +3 -3
- package/Json/context/rocrate/isa_material_context.js +3 -3
- package/Json/context/rocrate/isa_ontology_annotation_context.js +3 -3
- package/Json/context/rocrate/isa_ontology_source_reference_context.js +3 -3
- package/Json/context/rocrate/isa_organization_context.js +3 -3
- package/Json/context/rocrate/isa_person_context.js +3 -3
- package/Json/context/rocrate/isa_process_context.js +3 -3
- package/Json/context/rocrate/isa_process_parameter_value_context.js +3 -3
- package/Json/context/rocrate/isa_protocol_context.js +3 -3
- package/Json/context/rocrate/isa_protocol_parameter_context.js +3 -3
- package/Json/context/rocrate/isa_publication_context.js +3 -3
- package/Json/context/rocrate/isa_sample_context.js +3 -3
- package/Json/context/rocrate/isa_source_context.js +3 -3
- package/Json/context/rocrate/isa_study_context.js +3 -3
- package/Json/context/rocrate/property_value_context.js +1 -1
- package/Json/context/rocrate/rocrate_context.js +3 -3
- package/Json.js +2 -2
- package/JsonIO/ARC.js +3 -3
- package/JsonIO/Assay.js +2 -2
- package/JsonIO/Comment.js +2 -2
- package/JsonIO/Data.js +2 -2
- package/JsonIO/DataFile.js +2 -2
- package/JsonIO/DataMap/DataMap.js +1 -1
- package/JsonIO/Investigation.js +2 -2
- package/JsonIO/LDObject.js +2 -2
- package/JsonIO/OntologyAnnotation.js +2 -2
- package/JsonIO/OntologySourceReference.js +2 -2
- package/JsonIO/Person.js +2 -2
- package/JsonIO/Process/Component.js +2 -2
- package/JsonIO/Process/Factor.js +2 -2
- package/JsonIO/Process/FactorValue.js +2 -2
- package/JsonIO/Process/Material.js +2 -2
- package/JsonIO/Process/MaterialAttribute.js +2 -2
- package/JsonIO/Process/MaterialAttributeValue.js +2 -2
- package/JsonIO/Process/MaterialType.js +2 -2
- package/JsonIO/Process/Process.js +2 -2
- package/JsonIO/Process/ProcessInput.js +2 -2
- package/JsonIO/Process/ProcessOutput.js +2 -2
- package/JsonIO/Process/ProcessParameterValue.js +2 -2
- package/JsonIO/Process/ProcessSequence.js +4 -4
- package/JsonIO/Process/Protocol.js +2 -2
- package/JsonIO/Process/ProtocolParameter.js +2 -2
- package/JsonIO/Process/Sample.js +2 -2
- package/JsonIO/Process/Source.js +2 -2
- package/JsonIO/Process/StudyMaterials.js +3 -3
- package/JsonIO/Process/Value.js +1 -1
- package/JsonIO/Publication.js +2 -2
- package/JsonIO/Study.js +2 -2
- package/JsonIO/Table/ArcTable.js +5 -5
- package/JsonIO/Table/CompositeCell.js +2 -2
- package/JsonIO/Table/CompositeHeader.js +2 -2
- package/JsonIO/Table/Compression.js +3 -3
- package/JsonIO/Table/IOType.js +2 -2
- package/JsonIO/Table/Templates.js +3 -3
- package/ROCrate/ArcROCrateMetadata.js +3 -3
- package/ROCrate/ISAProfile/Assay.js +4 -4
- package/ROCrate/ISAProfile/Data.js +4 -4
- package/ROCrate/ISAProfile/Dataset.js +2 -2
- package/ROCrate/ISAProfile/Investigation.js +4 -4
- package/ROCrate/ISAProfile/LabProcess.js +4 -4
- package/ROCrate/ISAProfile/LabProtocol.js +4 -4
- package/ROCrate/ISAProfile/Person.js +4 -4
- package/ROCrate/ISAProfile/PropertyValue.js +4 -4
- package/ROCrate/ISAProfile/Sample.js +4 -4
- package/ROCrate/ISAProfile/ScholarlyArticle.js +4 -4
- package/ROCrate/ISAProfile/Study.js +4 -4
- package/ROCrate/LDObject.js +2 -2
- package/Spreadsheet/AnnotationTable/ArcTable.js +13 -13
- package/Spreadsheet/AnnotationTable/CompositeCell.js +2 -2
- package/Spreadsheet/AnnotationTable/CompositeColumn.js +7 -7
- package/Spreadsheet/AnnotationTable/CompositeHeader.js +6 -6
- package/Spreadsheet/ArcAssay.js +7 -7
- package/Spreadsheet/ArcInvestigation.js +12 -12
- package/Spreadsheet/ArcStudy.js +7 -7
- package/Spreadsheet/CollectionAux.js +7 -7
- package/Spreadsheet/DataMap.js +3 -3
- package/Spreadsheet/DataMapTable/DataMapColumn.js +6 -6
- package/Spreadsheet/DataMapTable/DataMapHeader.js +5 -5
- package/Spreadsheet/DataMapTable/DataMapTable.js +10 -10
- package/Spreadsheet/Metadata/Assays.js +5 -5
- package/Spreadsheet/Metadata/Comment.js +2 -2
- package/Spreadsheet/Metadata/Contacts.js +5 -5
- package/Spreadsheet/Metadata/Conversions.js +5 -5
- package/Spreadsheet/Metadata/DesignDescriptors.js +1 -1
- package/Spreadsheet/Metadata/Factors.js +5 -5
- package/Spreadsheet/Metadata/OntologyAnnotation.js +5 -5
- package/Spreadsheet/Metadata/OntologySourceReference.js +5 -5
- package/Spreadsheet/Metadata/Protocols.js +5 -5
- package/Spreadsheet/Metadata/Publication.js +5 -5
- package/Spreadsheet/Metadata/SparseTable.js +17 -17
- package/Spreadsheet/Metadata/Study.js +8 -8
- package/Spreadsheet/Template.js +13 -13
- package/Template.Web.js +4 -4
- package/ValidationPackages/ValidationPackage.js +5 -5
- package/ValidationPackages/ValidationPackagesConfig.js +8 -8
- package/WebRequest/WebRequest.Node.js +2 -2
- package/WebRequest/WebRequest.js +2 -2
- package/Xlsx.js +16 -3
- package/Yaml/Encode.js +1 -1
- package/Yaml/ValidationPackage.js +4 -4
- package/Yaml/ValidationPackagesConfig.js +4 -4
- package/fable_modules/DynamicObj.4.0.3/DynObj.fs.js +6 -6
- package/fable_modules/DynamicObj.4.0.3/DynamicObj.fs.js +4 -4
- package/fable_modules/DynamicObj.4.0.3/FableJS.fs.js +4 -4
- package/fable_modules/DynamicObj.4.0.3/HashCodes.fs.js +5 -5
- package/fable_modules/DynamicObj.4.0.3/PropertyHelper.fs.js +2 -2
- package/fable_modules/DynamicObj.4.0.3/ReflectionUtils.fs.js +1 -1
- package/fable_modules/Fable.Exceljs.1.6.0/Cell.fs +32 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Column.fs +24 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Csv.fs +12 -0
- package/fable_modules/Fable.Exceljs.1.6.0/ExcelJs.fs +61 -0
- package/fable_modules/Fable.Exceljs.1.6.0/ExcelJs.fs.js +4 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Extensions.fs +36 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Extensions.fs.js +20 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Fable.Exceljs.fableproj +53 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Row.fs +34 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Table.fs +85 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Table.fs.js +22 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Unions.fs +87 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Unions.fs.js +73 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Workbook.fs +37 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Worksheet.fs +120 -0
- package/fable_modules/Fable.Exceljs.1.6.0/Xlsx.fs +18 -0
- package/fable_modules/Fable.Exceljs.1.6.0/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.fs +3 -0
- package/fable_modules/Fable.Exceljs.1.6.0/obj/Debug/net6.0/Fable.Exceljs.AssemblyInfo.fs +19 -0
- package/fable_modules/Fable.Exceljs.1.6.0/obj/Debug/netstandard2.0/Fable.Exceljs.AssemblyInfo.fs +19 -0
- package/fable_modules/Fable.Exceljs.1.6.0/obj/Release/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.fs +3 -0
- package/fable_modules/Fable.Exceljs.1.6.0/obj/Release/net6.0/Fable.Exceljs.AssemblyInfo.fs +19 -0
- package/fable_modules/Fable.Exceljs.1.6.0/obj/Release/netstandard2.0/Fable.Exceljs.AssemblyInfo.fs +19 -0
- package/fable_modules/Fable.Fetch.2.6.0/Fetch.fs.js +8 -8
- package/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs +57 -0
- package/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs.js +104 -0
- package/fable_modules/{Fable.Promise.2.2.2 → Fable.Promise.3.2.0}/Fable.Promise.fableproj +4 -3
- package/fable_modules/Fable.Promise.3.2.0/Promise.fs +766 -0
- package/fable_modules/Fable.Promise.3.2.0/Promise.fs.js +217 -0
- package/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs +31 -0
- package/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js +19 -0
- package/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js +8 -8
- package/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js +2 -2
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Cells/FsCell.fs.js +14 -14
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Cells/FsCellsCollection.fs.js +6 -6
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/CellBuilder.fs.js +4 -4
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/ColumnBuilder.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/DSL.fs.js +2 -2
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/Expression.fs.js +1 -1
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/RowBuilder.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/SheetBuilder.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/TableBuilder.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/Transform.fs.js +6 -6
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/Types.fs.js +4 -4
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/WorkbookBuilder.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/FsAddress.fs.js +8 -8
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/FsColumn.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/FsRow.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/FsSpreadsheet.fableproj +5 -5
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/FsWorkbook.fs.js +6 -6
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/FsWorksheet.fs.js +9 -9
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Cell.fs.js +2 -2
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Column.fs.js +2 -2
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Row.fs.js +2 -2
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Table.fs.js +1 -1
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Value.fs.js +5 -5
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Workbook.fs.js +1 -1
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Worksheet.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Ranges/FsRange.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Ranges/FsRangeAddress.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Ranges/FsRangeBase.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Ranges/FsRangeColumn.fs.js +3 -3
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Ranges/FsRangeRow.fs.js +1 -1
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/SheetBuilder.fs.js +8 -8
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Tables/FsTable.fs.js +7 -7
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Tables/FsTableField.fs.js +4 -4
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Tables/FsTableRow.fs.js +1 -1
- package/fable_modules/FsSpreadsheet.6.3.1/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/obj/Debug/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +1 -1
- package/fable_modules/FsSpreadsheet.6.3.1/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
- package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/obj/Release/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +1 -1
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Cell.fs +88 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Cell.fs.js +79 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/FsExtensions.fs +69 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/FsExtensions.fs.js +64 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/FsSpreadsheet.Js.fableproj +57 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Json.fs +59 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Json.fs.js +39 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Table.fs +50 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Table.fs.js +54 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Workbook.fs +27 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Workbook.fs.js +34 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Worksheet.fs +41 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Worksheet.fs.js +63 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Xlsx.fs +74 -0
- package/fable_modules/FsSpreadsheet.Js.6.3.1/Xlsx.fs.js +70 -0
- package/fable_modules/Thoth.Json.Core.0.4.0/Decode.fs.js +19 -19
- package/fable_modules/Thoth.Json.Core.0.4.0/Encode.fs.js +6 -6
- package/fable_modules/Thoth.Json.Core.0.4.0/Types.fs.js +2 -2
- package/fable_modules/Thoth.Json.JavaScript.0.3.0/Decode.fs.js +1 -1
- package/fable_modules/Thoth.Json.JavaScript.0.3.0/Encode.fs.js +2 -2
- package/fable_modules/YAMLicious.0.0.3/Decode.fs.js +15 -15
- package/fable_modules/YAMLicious.0.0.3/Encode.fs.js +6 -6
- package/fable_modules/YAMLicious.0.0.3/Library.fs.js +1 -1
- package/fable_modules/YAMLicious.0.0.3/Persil.fs.js +3 -3
- package/fable_modules/YAMLicious.0.0.3/Preprocessing.fs.js +6 -6
- package/fable_modules/YAMLicious.0.0.3/Reader.fs.js +7 -7
- package/fable_modules/YAMLicious.0.0.3/RegexActivePatterns.fs.js +3 -3
- package/fable_modules/YAMLicious.0.0.3/Writer.fs.js +4 -4
- package/fable_modules/YAMLicious.0.0.3/YAMLiciousTypes.fs.js +6 -6
- package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/CHANGELOG.md +6 -0
- package/fable_modules/fable-library-js.4.24.0/CollectionUtil.d.ts +7 -0
- package/fable_modules/fable-library-js.4.24.0/CollectionUtil.js +182 -0
- package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/String.d.ts +10 -2
- package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/package.json +1 -1
- package/fable_modules/project_cracked.json +1 -1
- package/package.json +1 -1
- package/fable_modules/Fable.Promise.2.2.2/Promise.fs +0 -176
- package/fable_modules/Fable.Promise.2.2.2/Promise.fs.js +0 -143
- package/fable_modules/Fable.Promise.2.2.2/PromiseImpl.fs +0 -4
- package/fable_modules/Fable.Promise.2.2.2/PromiseImpl.fs.js +0 -4
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → Fable.Exceljs.1.6.0}/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → Fable.Exceljs.1.6.0}/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Cells/FsCell.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Cells/FsCellsCollection.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/CellBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/ColumnBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/DSL.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/Expression.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/Operators.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/Operators.fs.js +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/RowBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/SheetBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/TableBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/Transform.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/Types.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/DSL/WorkbookBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/FsAddress.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/FsColumn.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/FsRow.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/FsWorkbook.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/FsWorksheet.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Cell.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Column.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Row.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Table.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Value.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Workbook.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Json/Worksheet.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Ranges/FsRange.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Ranges/FsRangeAddress.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Ranges/FsRangeBase.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Ranges/FsRangeColumn.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Ranges/FsRangeRow.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/SheetBuilder.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Tables/FsTable.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Tables/FsTableField.fs +0 -0
- /package/fable_modules/{FsSpreadsheet.6.3.0-alpha.4 → FsSpreadsheet.6.3.1}/Tables/FsTableRow.fs +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Array.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Array.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Async.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Async.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/AsyncBuilder.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/AsyncBuilder.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/BigInt.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/BigInt.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/BitConverter.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/BitConverter.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Boolean.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Boolean.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Char.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Char.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Choice.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Choice.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/ConditionalWeakTable.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/ConditionalWeakTable.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Date.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Date.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/DateOffset.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/DateOffset.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/DateOnly.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/DateOnly.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Decimal.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Decimal.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Double.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Double.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Encoding.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Encoding.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Event.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Event.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/FSharp.Collections.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/FSharp.Collections.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/FSharp.Core.CompilerServices.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/FSharp.Core.CompilerServices.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/FSharp.Core.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/FSharp.Core.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Global.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Global.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Guid.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Guid.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Int32.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Int32.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/List.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/List.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Long.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Long.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/MailboxProcessor.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/MailboxProcessor.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Map.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Map.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/MapUtil.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/MapUtil.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/MutableMap.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/MutableMap.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/MutableSet.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/MutableSet.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Native.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Native.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Numeric.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Numeric.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Observable.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Observable.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Option.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Option.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/README.md +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Random.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Random.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Range.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Range.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Reflection.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Reflection.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/RegExp.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/RegExp.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Result.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Result.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Seq.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Seq.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Seq2.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Seq2.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Set.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Set.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/String.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/System.Collections.Generic.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/System.Collections.Generic.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/System.Text.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/System.Text.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/SystemException.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/SystemException.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/TimeOnly.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/TimeOnly.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/TimeSpan.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/TimeSpan.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Timer.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Timer.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Types.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Types.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Unicode.13.0.0.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Unicode.13.0.0.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Uri.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Uri.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Util.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/Util.js +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/big.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/lib/big.d.ts +0 -0
- /package/fable_modules/{fable-library-js.4.22.0 → fable-library-js.4.24.0}/lib/big.js +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
namespace FsSpreadsheet.Js
|
|
2
|
+
|
|
3
|
+
open FsSpreadsheet
|
|
4
|
+
open Fable.ExcelJs
|
|
5
|
+
open Fable.Core
|
|
6
|
+
open Fable.Core.JsInterop
|
|
7
|
+
open Fable.Core.JS
|
|
8
|
+
|
|
9
|
+
open Thoth.Json.JavaScript
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
/// This does currently not correctly work if you want to use this from js
|
|
15
|
+
/// https://github.com/fable-compiler/Fable/issues/3498
|
|
16
|
+
[<AttachMembers>]
|
|
17
|
+
type Json =
|
|
18
|
+
|
|
19
|
+
static member tryFromRowsJsonString (json:string) : Result<FsWorkbook, string> =
|
|
20
|
+
match Thoth.Json.JavaScript.Decode.fromString FsSpreadsheet.Json.Workbook.decodeRows json with
|
|
21
|
+
| Ok wb -> Ok wb
|
|
22
|
+
| Error e -> Error e
|
|
23
|
+
|
|
24
|
+
static member fromRowsJsonString (json:string) : FsWorkbook =
|
|
25
|
+
match Json.tryFromRowsJsonString json with
|
|
26
|
+
| Ok wb -> wb
|
|
27
|
+
| Error e -> failwithf "Could not deserialize json Workbook: \n%s" e
|
|
28
|
+
|
|
29
|
+
static member toRowsJsonString (wb:FsWorkbook, ?spaces, ?noNumbering) : string =
|
|
30
|
+
let spaces = defaultArg spaces 2
|
|
31
|
+
let noNumbering = defaultArg noNumbering false
|
|
32
|
+
FsSpreadsheet.Json.Workbook.encodeRows noNumbering wb
|
|
33
|
+
|> Thoth.Json.JavaScript.Encode.toString spaces
|
|
34
|
+
|
|
35
|
+
static member tryFromColumnsJsonString (json:string) : Result<FsWorkbook, string> =
|
|
36
|
+
match Thoth.Json.JavaScript.Decode.fromString FsSpreadsheet.Json.Workbook.decodeColumns json with
|
|
37
|
+
| Ok wb -> Ok wb
|
|
38
|
+
| Error e -> Error e
|
|
39
|
+
|
|
40
|
+
static member fromColumnsJsonString (json:string) : FsWorkbook =
|
|
41
|
+
match Json.tryFromColumnsJsonString json with
|
|
42
|
+
| Ok wb -> wb
|
|
43
|
+
| Error e -> failwithf "Could not deserialize json Workbook: \n%s" e
|
|
44
|
+
|
|
45
|
+
static member toColumnsJsonString (wb:FsWorkbook, ?spaces, ?noNumbering) : string =
|
|
46
|
+
let spaces = defaultArg spaces 2
|
|
47
|
+
let noNumbering = defaultArg noNumbering false
|
|
48
|
+
FsSpreadsheet.Json.Workbook.encodeColumns noNumbering wb
|
|
49
|
+
|> Thoth.Json.JavaScript.Encode.toString spaces
|
|
50
|
+
|
|
51
|
+
//static member fromJsonFile (path:string) : Promise<FsWorkbook> =
|
|
52
|
+
// promise {
|
|
53
|
+
// let! json = Fable.Core.JS. path
|
|
54
|
+
// return Json.fromJsonString json
|
|
55
|
+
// }
|
|
56
|
+
|
|
57
|
+
//static member toJsonFile (path:string) (wb:FsWorkbook) : Promise<unit> =
|
|
58
|
+
// let json = Json.toJsonString wb
|
|
59
|
+
// Fable.Core.JS.writeFile path json
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { fromString } from "../Thoth.Json.JavaScript.0.3.0/Decode.fs.js";
|
|
2
|
+
import { encodeColumns, decodeColumns, encodeRows, decodeRows } from "../FsSpreadsheet.6.3.1/Json/Workbook.fs.js";
|
|
3
|
+
import { FSharpResult$2 } from "../fable-library-js.4.24.0/Result.js";
|
|
4
|
+
import { printf, toFail } from "../fable-library-js.4.24.0/String.js";
|
|
5
|
+
import { toString } from "../Thoth.Json.JavaScript.0.3.0/Encode.fs.js";
|
|
6
|
+
import { defaultArg } from "../fable-library-js.4.24.0/Option.js";
|
|
7
|
+
import { class_type } from "../fable-library-js.4.24.0/Reflection.js";
|
|
8
|
+
|
|
9
|
+
export class Json {
|
|
10
|
+
constructor() {
|
|
11
|
+
}
|
|
12
|
+
static tryFromRowsJsonString(json) {
|
|
13
|
+
const matchValue = fromString(decodeRows, json);
|
|
14
|
+
return (matchValue.tag === 1) ? (new FSharpResult$2(1, [matchValue.fields[0]])) : (new FSharpResult$2(0, [matchValue.fields[0]]));
|
|
15
|
+
}
|
|
16
|
+
static fromRowsJsonString(json) {
|
|
17
|
+
const matchValue = Json.tryFromRowsJsonString(json);
|
|
18
|
+
return (matchValue.tag === 1) ? toFail(printf("Could not deserialize json Workbook: \n%s"))(matchValue.fields[0]) : matchValue.fields[0];
|
|
19
|
+
}
|
|
20
|
+
static toRowsJsonString(wb, spaces, noNumbering) {
|
|
21
|
+
return toString(defaultArg(spaces, 2), encodeRows(defaultArg(noNumbering, false), wb));
|
|
22
|
+
}
|
|
23
|
+
static tryFromColumnsJsonString(json) {
|
|
24
|
+
const matchValue = fromString(decodeColumns, json);
|
|
25
|
+
return (matchValue.tag === 1) ? (new FSharpResult$2(1, [matchValue.fields[0]])) : (new FSharpResult$2(0, [matchValue.fields[0]]));
|
|
26
|
+
}
|
|
27
|
+
static fromColumnsJsonString(json) {
|
|
28
|
+
const matchValue = Json.tryFromColumnsJsonString(json);
|
|
29
|
+
return (matchValue.tag === 1) ? toFail(printf("Could not deserialize json Workbook: \n%s"))(matchValue.fields[0]) : matchValue.fields[0];
|
|
30
|
+
}
|
|
31
|
+
static toColumnsJsonString(wb, spaces, noNumbering) {
|
|
32
|
+
return toString(defaultArg(spaces, 2), encodeColumns(defaultArg(noNumbering, false), wb));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function Json_$reflection() {
|
|
37
|
+
return class_type("FsSpreadsheet.Js.Json", undefined, Json);
|
|
38
|
+
}
|
|
39
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
namespace FsSpreadsheet.Js
|
|
2
|
+
|
|
3
|
+
module JsTable =
|
|
4
|
+
|
|
5
|
+
open Fable.Core
|
|
6
|
+
open FsSpreadsheet
|
|
7
|
+
open Fable.ExcelJs
|
|
8
|
+
open Fable.Core.JsInterop
|
|
9
|
+
|
|
10
|
+
[<Emit("console.log($0)")>]
|
|
11
|
+
let private log (obj:obj) = jsNative
|
|
12
|
+
|
|
13
|
+
let writeFromFsTable (fscellcollection: FsCellsCollection) (fsTable: FsTable) : Table =
|
|
14
|
+
let fsColumns = fsTable.GetColumns fscellcollection
|
|
15
|
+
let columns =
|
|
16
|
+
if fsTable.ShowHeaderRow then
|
|
17
|
+
[| for headerCell in fsTable.GetHeaderRow(fscellcollection) do
|
|
18
|
+
yield TableColumn(headerCell.ValueAsString()) |]
|
|
19
|
+
else
|
|
20
|
+
[|
|
|
21
|
+
for i in 1 .. Seq.length fsColumns do yield TableColumn(string i)
|
|
22
|
+
|]
|
|
23
|
+
let rows =
|
|
24
|
+
[| for col in fsColumns do
|
|
25
|
+
let cells =
|
|
26
|
+
if fsTable.ShowHeaderRow then col.Cells |> Seq.tail else col.Cells
|
|
27
|
+
yield! cells |> Seq.map (fun c ->
|
|
28
|
+
let rowValue = JsCell.writeFromFsCell c |> Option.get
|
|
29
|
+
c.Address.RowNumber, (c.Address.ColumnNumber, rowValue)
|
|
30
|
+
)
|
|
31
|
+
|]
|
|
32
|
+
|> Array.groupBy fst
|
|
33
|
+
|> Array.sortBy fst
|
|
34
|
+
|> Array.map (fun (_,arr) ->
|
|
35
|
+
let m = arr |> Array.map snd |> Map
|
|
36
|
+
let row = [|fsTable.RangeAddress.FirstAddress.ColumnNumber .. fsTable.RangeAddress.FirstAddress.ColumnNumber + (columns.Length-1)|]
|
|
37
|
+
let row = row |> Array.map (fun i -> m.TryFind i |> box)
|
|
38
|
+
row
|
|
39
|
+
)
|
|
40
|
+
let defaultStyle = {|
|
|
41
|
+
showRowStripes = true
|
|
42
|
+
|}
|
|
43
|
+
Table(fsTable.Name,fsTable.RangeAddress.Range,columns,rows,fsTable.Name,headerRow = fsTable.ShowHeaderRow, style = defaultStyle)
|
|
44
|
+
|
|
45
|
+
let readToFsTable(table:ITableRef) =
|
|
46
|
+
let table = table.table.Value
|
|
47
|
+
let tableRef = table.tableRef |> FsRangeAddress
|
|
48
|
+
let tableName = if isNull table.displayName then table.name else table.displayName
|
|
49
|
+
let table = FsTable(tableName, tableRef, table.totalsRow, table.headerRow)
|
|
50
|
+
table
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { tail, collect, length, map, delay, toArray } from "../fable-library-js.4.24.0/Seq.js";
|
|
2
|
+
import { numberHash, comparePrimitives, int32ToString } from "../fable-library-js.4.24.0/Util.js";
|
|
3
|
+
import { rangeDouble } from "../fable-library-js.4.24.0/Range.js";
|
|
4
|
+
import { sortBy, map as map_1 } from "../fable-library-js.4.24.0/Array.js";
|
|
5
|
+
import { FSharpMap__TryFind, ofSeq } from "../fable-library-js.4.24.0/Map.js";
|
|
6
|
+
import { FsAddress__get_RowNumber, FsAddress__get_ColumnNumber } from "../FsSpreadsheet.6.3.1/FsAddress.fs.js";
|
|
7
|
+
import { FsRangeAddress_$ctor_Z721C83C5, FsRangeAddress__get_Range, FsRangeAddress__get_FirstAddress } from "../FsSpreadsheet.6.3.1/Ranges/FsRangeAddress.fs.js";
|
|
8
|
+
import { FsRangeBase__get_RangeAddress } from "../FsSpreadsheet.6.3.1/Ranges/FsRangeBase.fs.js";
|
|
9
|
+
import { Array_groupBy } from "../fable-library-js.4.24.0/Seq2.js";
|
|
10
|
+
import { value as value_1 } from "../fable-library-js.4.24.0/Option.js";
|
|
11
|
+
import { writeFromFsCell } from "./Cell.fs.js";
|
|
12
|
+
import { FsTable } from "../FsSpreadsheet.6.3.1/Tables/FsTable.fs.js";
|
|
13
|
+
|
|
14
|
+
export function writeFromFsTable(fscellcollection, fsTable) {
|
|
15
|
+
const fsColumns = fsTable.GetColumns(fscellcollection);
|
|
16
|
+
const columns = fsTable.ShowHeaderRow ? toArray(delay(() => map((headerCell) => ({
|
|
17
|
+
name: headerCell.ValueAsString(),
|
|
18
|
+
}), fsTable.GetHeaderRow(fscellcollection)))) : toArray(delay(() => map((i) => ({
|
|
19
|
+
name: int32ToString(i),
|
|
20
|
+
}), rangeDouble(1, 1, length(fsColumns)))));
|
|
21
|
+
const rows = map_1((tupledArg) => {
|
|
22
|
+
const m = ofSeq(map_1((tuple_2) => tuple_2[1], tupledArg[1]), {
|
|
23
|
+
Compare: comparePrimitives,
|
|
24
|
+
});
|
|
25
|
+
return map_1((i_1) => FSharpMap__TryFind(m, i_1), toArray(rangeDouble(FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(fsTable))), 1, FsAddress__get_ColumnNumber(FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(fsTable))) + (columns.length - 1))));
|
|
26
|
+
}, sortBy((tuple_1) => tuple_1[0], Array_groupBy((tuple) => tuple[0], toArray(delay(() => collect((col) => map((c) => {
|
|
27
|
+
const rowValue = value_1(writeFromFsCell(c));
|
|
28
|
+
return [FsAddress__get_RowNumber(c.Address), [FsAddress__get_ColumnNumber(c.Address), rowValue]];
|
|
29
|
+
}, fsTable.ShowHeaderRow ? tail(col.Cells) : col.Cells), fsColumns))), {
|
|
30
|
+
Equals: (x, y) => (x === y),
|
|
31
|
+
GetHashCode: numberHash,
|
|
32
|
+
}), {
|
|
33
|
+
Compare: comparePrimitives,
|
|
34
|
+
}));
|
|
35
|
+
const defaultStyle = {
|
|
36
|
+
showRowStripes: true,
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
name: fsTable.Name,
|
|
40
|
+
ref: FsRangeAddress__get_Range(FsRangeBase__get_RangeAddress(fsTable)),
|
|
41
|
+
columns: columns,
|
|
42
|
+
rows: rows,
|
|
43
|
+
displayName: fsTable.Name,
|
|
44
|
+
headerRow: fsTable.ShowHeaderRow,
|
|
45
|
+
style: defaultStyle,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function readToFsTable(table) {
|
|
50
|
+
const table_1 = value_1(table.table);
|
|
51
|
+
const tableRef = FsRangeAddress_$ctor_Z721C83C5(table_1.tableRef);
|
|
52
|
+
return new FsTable((table_1.displayName == null) ? table_1.name : table_1.displayName, tableRef, table_1.totalsRow, table_1.headerRow);
|
|
53
|
+
}
|
|
54
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
namespace FsSpreadsheet.Js
|
|
2
|
+
|
|
3
|
+
module JsWorkbook =
|
|
4
|
+
open FsSpreadsheet
|
|
5
|
+
open Fable.ExcelJs
|
|
6
|
+
open Fable.Core
|
|
7
|
+
open Fable.Core.JsInterop
|
|
8
|
+
|
|
9
|
+
module private Aux =
|
|
10
|
+
|
|
11
|
+
let theme1 = {|theme1 = """<?xml version="1.0" encoding="UTF-8" standalone="yes"?>""" + """<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme"><a:themeElements><a:clrScheme name="Office"><a:dk1><a:sysClr val="windowText" lastClr="000000"/></a:dk1><a:lt1><a:sysClr val="window" lastClr="FFFFFF"/></a:lt1><a:dk2><a:srgbClr val="44546A"/></a:dk2><a:lt2><a:srgbClr val="E7E6E6"/></a:lt2><a:accent1><a:srgbClr val="4472C4"/></a:accent1><a:accent2><a:srgbClr val="ED7D31"/></a:accent2><a:accent3><a:srgbClr val="A5A5A5"/></a:accent3><a:accent4><a:srgbClr val="FFC000"/></a:accent4><a:accent5><a:srgbClr val="5B9BD5"/></a:accent5><a:accent6><a:srgbClr val="70AD47"/></a:accent6><a:hlink><a:srgbClr val="0563C1"/></a:hlink><a:folHlink><a:srgbClr val="954F72"/></a:folHlink></a:clrScheme><a:fontScheme name="Office"><a:majorFont><a:latin typeface="Calibri Light" panose="020F0302020204030204"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック Light"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线 Light"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Times New Roman"/><a:font script="Hebr" typeface="Times New Roman"/><a:font script="Thai" typeface="Tahoma"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="MoolBoran"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Times New Roman"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:majorFont><a:minorFont><a:latin typeface="Calibri" panose="020F0502020204030204"/><a:ea typeface=""/><a:cs typeface=""/><a:font script="Jpan" typeface="游ゴシック"/><a:font script="Hang" typeface="맑은 고딕"/><a:font script="Hans" typeface="等线"/><a:font script="Hant" typeface="新細明體"/><a:font script="Arab" typeface="Arial"/><a:font script="Hebr" typeface="Arial"/><a:font script="Thai" typeface="Tahoma"/><a:font script="Ethi" typeface="Nyala"/><a:font script="Beng" typeface="Vrinda"/><a:font script="Gujr" typeface="Shruti"/><a:font script="Khmr" typeface="DaunPenh"/><a:font script="Knda" typeface="Tunga"/><a:font script="Guru" typeface="Raavi"/><a:font script="Cans" typeface="Euphemia"/><a:font script="Cher" typeface="Plantagenet Cherokee"/><a:font script="Yiii" typeface="Microsoft Yi Baiti"/><a:font script="Tibt" typeface="Microsoft Himalaya"/><a:font script="Thaa" typeface="MV Boli"/><a:font script="Deva" typeface="Mangal"/><a:font script="Telu" typeface="Gautami"/><a:font script="Taml" typeface="Latha"/><a:font script="Syrc" typeface="Estrangelo Edessa"/><a:font script="Orya" typeface="Kalinga"/><a:font script="Mlym" typeface="Kartika"/><a:font script="Laoo" typeface="DokChampa"/><a:font script="Sinh" typeface="Iskoola Pota"/><a:font script="Mong" typeface="Mongolian Baiti"/><a:font script="Viet" typeface="Arial"/><a:font script="Uigh" typeface="Microsoft Uighur"/><a:font script="Geor" typeface="Sylfaen"/><a:font script="Armn" typeface="Arial"/><a:font script="Bugi" typeface="Leelawadee UI"/><a:font script="Bopo" typeface="Microsoft JhengHei"/><a:font script="Java" typeface="Javanese Text"/><a:font script="Lisu" typeface="Segoe UI"/><a:font script="Mymr" typeface="Myanmar Text"/><a:font script="Nkoo" typeface="Ebrima"/><a:font script="Olck" typeface="Nirmala UI"/><a:font script="Osma" typeface="Ebrima"/><a:font script="Phag" typeface="Phagspa"/><a:font script="Syrn" typeface="Estrangelo Edessa"/><a:font script="Syrj" typeface="Estrangelo Edessa"/><a:font script="Syre" typeface="Estrangelo Edessa"/><a:font script="Sora" typeface="Nirmala UI"/><a:font script="Tale" typeface="Microsoft Tai Le"/><a:font script="Talu" typeface="Microsoft New Tai Lue"/><a:font script="Tfng" typeface="Ebrima"/></a:minorFont></a:fontScheme><a:fmtScheme name="Office"><a:fillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:lumMod val="110000"/><a:satMod val="105000"/><a:tint val="67000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="103000"/><a:tint val="73000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="105000"/><a:satMod val="109000"/><a:tint val="81000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:satMod val="103000"/><a:lumMod val="102000"/><a:tint val="94000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:satMod val="110000"/><a:lumMod val="100000"/><a:shade val="100000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:lumMod val="99000"/><a:satMod val="120000"/><a:shade val="78000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w="6350" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="12700" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln><a:ln w="19050" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/><a:miter lim="800000"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad="57150" dist="19050" dir="5400000" algn="ctr" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="63000"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:solidFill><a:schemeClr val="phClr"><a:tint val="95000"/><a:satMod val="170000"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape="1"><a:gsLst><a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="93000"/><a:satMod val="150000"/><a:shade val="98000"/><a:lumMod val="102000"/></a:schemeClr></a:gs><a:gs pos="50000"><a:schemeClr val="phClr"><a:tint val="98000"/><a:satMod val="130000"/><a:shade val="90000"/><a:lumMod val="103000"/></a:schemeClr></a:gs><a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="63000"/><a:satMod val="120000"/></a:schemeClr></a:gs></a:gsLst><a:lin ang="5400000" scaled="0"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/><a:extLst><a:ext uri="{05A4C25C-085E-4340-85A3-A5531E510DB2}"><thm15:themeFamily xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" name="Office Theme" id="{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}" vid="{4A3C46E8-61CC-4603-A589-7422A47A8E4A}"/></a:ext></a:extLst></a:theme>"""|}
|
|
12
|
+
|
|
13
|
+
[<Emit("console.log($0)")>]
|
|
14
|
+
let private log (obj:obj) = jsNative
|
|
15
|
+
|
|
16
|
+
let writeFromFsWorkbook (fswb: FsWorkbook) =
|
|
17
|
+
let jswb = ExcelJs.Excel.Workbook()
|
|
18
|
+
jswb?_themes <- Aux.theme1
|
|
19
|
+
for fsws in fswb.GetWorksheets() do
|
|
20
|
+
JsWorksheet.writeFromFsWorksheet jswb fsws
|
|
21
|
+
jswb
|
|
22
|
+
|
|
23
|
+
let readToFsWorkbook (jswb: Workbook) =
|
|
24
|
+
let fswb = new FsWorkbook()
|
|
25
|
+
for jsws in jswb.worksheets do
|
|
26
|
+
JsWorksheet.readToFsWorksheet fswb jsws
|
|
27
|
+
fswb
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Excel } from "../Fable.Exceljs.1.6.0/ExcelJs.fs.js";
|
|
2
|
+
import { disposeSafe, getEnumerator } from "../fable-library-js.4.24.0/Util.js";
|
|
3
|
+
import { readToFsWorksheet, writeFromFsWorksheet } from "./Worksheet.fs.js";
|
|
4
|
+
import { FsWorkbook } from "../FsSpreadsheet.6.3.1/FsWorkbook.fs.js";
|
|
5
|
+
import { item } from "../fable-library-js.4.24.0/Array.js";
|
|
6
|
+
|
|
7
|
+
const Aux_theme1 = {
|
|
8
|
+
theme1: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\"><a:themeElements><a:clrScheme name=\"Office\"><a:dk1><a:sysClr val=\"windowText\" lastClr=\"000000\"/></a:dk1><a:lt1><a:sysClr val=\"window\" lastClr=\"FFFFFF\"/></a:lt1><a:dk2><a:srgbClr val=\"44546A\"/></a:dk2><a:lt2><a:srgbClr val=\"E7E6E6\"/></a:lt2><a:accent1><a:srgbClr val=\"4472C4\"/></a:accent1><a:accent2><a:srgbClr val=\"ED7D31\"/></a:accent2><a:accent3><a:srgbClr val=\"A5A5A5\"/></a:accent3><a:accent4><a:srgbClr val=\"FFC000\"/></a:accent4><a:accent5><a:srgbClr val=\"5B9BD5\"/></a:accent5><a:accent6><a:srgbClr val=\"70AD47\"/></a:accent6><a:hlink><a:srgbClr val=\"0563C1\"/></a:hlink><a:folHlink><a:srgbClr val=\"954F72\"/></a:folHlink></a:clrScheme><a:fontScheme name=\"Office\"><a:majorFont><a:latin typeface=\"Calibri Light\" panose=\"020F0302020204030204\"/><a:ea typeface=\"\"/><a:cs typeface=\"\"/><a:font script=\"Jpan\" typeface=\"游ゴシック Light\"/><a:font script=\"Hang\" typeface=\"맑은 고딕\"/><a:font script=\"Hans\" typeface=\"等线 Light\"/><a:font script=\"Hant\" typeface=\"新細明體\"/><a:font script=\"Arab\" typeface=\"Times New Roman\"/><a:font script=\"Hebr\" typeface=\"Times New Roman\"/><a:font script=\"Thai\" typeface=\"Tahoma\"/><a:font script=\"Ethi\" typeface=\"Nyala\"/><a:font script=\"Beng\" typeface=\"Vrinda\"/><a:font script=\"Gujr\" typeface=\"Shruti\"/><a:font script=\"Khmr\" typeface=\"MoolBoran\"/><a:font script=\"Knda\" typeface=\"Tunga\"/><a:font script=\"Guru\" typeface=\"Raavi\"/><a:font script=\"Cans\" typeface=\"Euphemia\"/><a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/><a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/><a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/><a:font script=\"Thaa\" typeface=\"MV Boli\"/><a:font script=\"Deva\" typeface=\"Mangal\"/><a:font script=\"Telu\" typeface=\"Gautami\"/><a:font script=\"Taml\" typeface=\"Latha\"/><a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Orya\" typeface=\"Kalinga\"/><a:font script=\"Mlym\" typeface=\"Kartika\"/><a:font script=\"Laoo\" typeface=\"DokChampa\"/><a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/><a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/><a:font script=\"Viet\" typeface=\"Times New Roman\"/><a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/><a:font script=\"Geor\" typeface=\"Sylfaen\"/><a:font script=\"Armn\" typeface=\"Arial\"/><a:font script=\"Bugi\" typeface=\"Leelawadee UI\"/><a:font script=\"Bopo\" typeface=\"Microsoft JhengHei\"/><a:font script=\"Java\" typeface=\"Javanese Text\"/><a:font script=\"Lisu\" typeface=\"Segoe UI\"/><a:font script=\"Mymr\" typeface=\"Myanmar Text\"/><a:font script=\"Nkoo\" typeface=\"Ebrima\"/><a:font script=\"Olck\" typeface=\"Nirmala UI\"/><a:font script=\"Osma\" typeface=\"Ebrima\"/><a:font script=\"Phag\" typeface=\"Phagspa\"/><a:font script=\"Syrn\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Syrj\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Syre\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Sora\" typeface=\"Nirmala UI\"/><a:font script=\"Tale\" typeface=\"Microsoft Tai Le\"/><a:font script=\"Talu\" typeface=\"Microsoft New Tai Lue\"/><a:font script=\"Tfng\" typeface=\"Ebrima\"/></a:majorFont><a:minorFont><a:latin typeface=\"Calibri\" panose=\"020F0502020204030204\"/><a:ea typeface=\"\"/><a:cs typeface=\"\"/><a:font script=\"Jpan\" typeface=\"游ゴシック\"/><a:font script=\"Hang\" typeface=\"맑은 고딕\"/><a:font script=\"Hans\" typeface=\"等线\"/><a:font script=\"Hant\" typeface=\"新細明體\"/><a:font script=\"Arab\" typeface=\"Arial\"/><a:font script=\"Hebr\" typeface=\"Arial\"/><a:font script=\"Thai\" typeface=\"Tahoma\"/><a:font script=\"Ethi\" typeface=\"Nyala\"/><a:font script=\"Beng\" typeface=\"Vrinda\"/><a:font script=\"Gujr\" typeface=\"Shruti\"/><a:font script=\"Khmr\" typeface=\"DaunPenh\"/><a:font script=\"Knda\" typeface=\"Tunga\"/><a:font script=\"Guru\" typeface=\"Raavi\"/><a:font script=\"Cans\" typeface=\"Euphemia\"/><a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/><a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/><a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/><a:font script=\"Thaa\" typeface=\"MV Boli\"/><a:font script=\"Deva\" typeface=\"Mangal\"/><a:font script=\"Telu\" typeface=\"Gautami\"/><a:font script=\"Taml\" typeface=\"Latha\"/><a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Orya\" typeface=\"Kalinga\"/><a:font script=\"Mlym\" typeface=\"Kartika\"/><a:font script=\"Laoo\" typeface=\"DokChampa\"/><a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/><a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/><a:font script=\"Viet\" typeface=\"Arial\"/><a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/><a:font script=\"Geor\" typeface=\"Sylfaen\"/><a:font script=\"Armn\" typeface=\"Arial\"/><a:font script=\"Bugi\" typeface=\"Leelawadee UI\"/><a:font script=\"Bopo\" typeface=\"Microsoft JhengHei\"/><a:font script=\"Java\" typeface=\"Javanese Text\"/><a:font script=\"Lisu\" typeface=\"Segoe UI\"/><a:font script=\"Mymr\" typeface=\"Myanmar Text\"/><a:font script=\"Nkoo\" typeface=\"Ebrima\"/><a:font script=\"Olck\" typeface=\"Nirmala UI\"/><a:font script=\"Osma\" typeface=\"Ebrima\"/><a:font script=\"Phag\" typeface=\"Phagspa\"/><a:font script=\"Syrn\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Syrj\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Syre\" typeface=\"Estrangelo Edessa\"/><a:font script=\"Sora\" typeface=\"Nirmala UI\"/><a:font script=\"Tale\" typeface=\"Microsoft Tai Le\"/><a:font script=\"Talu\" typeface=\"Microsoft New Tai Lue\"/><a:font script=\"Tfng\" typeface=\"Ebrima\"/></a:minorFont></a:fontScheme><a:fmtScheme name=\"Office\"><a:fillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"110000\"/><a:satMod val=\"105000\"/><a:tint val=\"67000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"105000\"/><a:satMod val=\"103000\"/><a:tint val=\"73000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"105000\"/><a:satMod val=\"109000\"/><a:tint val=\"81000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:satMod val=\"103000\"/><a:lumMod val=\"102000\"/><a:tint val=\"94000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:satMod val=\"110000\"/><a:lumMod val=\"100000\"/><a:shade val=\"100000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:lumMod val=\"99000\"/><a:satMod val=\"120000\"/><a:shade val=\"78000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill></a:fillStyleLst><a:lnStyleLst><a:ln w=\"6350\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln><a:ln w=\"12700\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln><a:ln w=\"19050\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/><a:miter lim=\"800000\"/></a:ln></a:lnStyleLst><a:effectStyleLst><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst/></a:effectStyle><a:effectStyle><a:effectLst><a:outerShdw blurRad=\"57150\" dist=\"19050\" dir=\"5400000\" algn=\"ctr\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"63000\"/></a:srgbClr></a:outerShdw></a:effectLst></a:effectStyle></a:effectStyleLst><a:bgFillStyleLst><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:solidFill><a:schemeClr val=\"phClr\"><a:tint val=\"95000\"/><a:satMod val=\"170000\"/></a:schemeClr></a:solidFill><a:gradFill rotWithShape=\"1\"><a:gsLst><a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"93000\"/><a:satMod val=\"150000\"/><a:shade val=\"98000\"/><a:lumMod val=\"102000\"/></a:schemeClr></a:gs><a:gs pos=\"50000\"><a:schemeClr val=\"phClr\"><a:tint val=\"98000\"/><a:satMod val=\"130000\"/><a:shade val=\"90000\"/><a:lumMod val=\"103000\"/></a:schemeClr></a:gs><a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"63000\"/><a:satMod val=\"120000\"/></a:schemeClr></a:gs></a:gsLst><a:lin ang=\"5400000\" scaled=\"0\"/></a:gradFill></a:bgFillStyleLst></a:fmtScheme></a:themeElements><a:objectDefaults/><a:extraClrSchemeLst/><a:extLst><a:ext uri=\"{05A4C25C-085E-4340-85A3-A5531E510DB2}\"><thm15:themeFamily xmlns:thm15=\"http://schemas.microsoft.com/office/thememl/2012/main\" name=\"Office Theme\" id=\"{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}\" vid=\"{4A3C46E8-61CC-4603-A589-7422A47A8E4A}\"/></a:ext></a:extLst></a:theme>",
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export function writeFromFsWorkbook(fswb) {
|
|
12
|
+
const jswb = new Excel.Workbook();
|
|
13
|
+
jswb._themes = Aux_theme1;
|
|
14
|
+
let enumerator = getEnumerator(fswb.GetWorksheets());
|
|
15
|
+
try {
|
|
16
|
+
while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
|
|
17
|
+
writeFromFsWorksheet(jswb, enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]());
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
finally {
|
|
21
|
+
disposeSafe(enumerator);
|
|
22
|
+
}
|
|
23
|
+
return jswb;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function readToFsWorkbook(jswb) {
|
|
27
|
+
const fswb = new FsWorkbook();
|
|
28
|
+
const arr = jswb.worksheets;
|
|
29
|
+
for (let idx = 0; idx <= (arr.length - 1); idx++) {
|
|
30
|
+
readToFsWorksheet(fswb, item(idx, arr));
|
|
31
|
+
}
|
|
32
|
+
return fswb;
|
|
33
|
+
}
|
|
34
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
namespace FsSpreadsheet.Js
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
module JsWorksheet =
|
|
5
|
+
|
|
6
|
+
open Fable.Core
|
|
7
|
+
|
|
8
|
+
[<Emit("console.log($0)")>]
|
|
9
|
+
let private log (obj:obj) = jsNative
|
|
10
|
+
|
|
11
|
+
open FsSpreadsheet
|
|
12
|
+
open Fable.ExcelJs
|
|
13
|
+
|
|
14
|
+
let writeFromFsWorksheet (wb: Workbook) (fsws:FsWorksheet) : unit =
|
|
15
|
+
fsws.RescanRows()
|
|
16
|
+
let rows = fsws.Rows |> Seq.map (fun x -> x.Cells)
|
|
17
|
+
let ws = wb.addWorksheet(fsws.Name)
|
|
18
|
+
// due to the design of fsspreadsheet this might overwrite some of the stuff from tables,
|
|
19
|
+
// but as it should be the same, this is only a performance sink.
|
|
20
|
+
for row in rows do
|
|
21
|
+
for fsCell in row do
|
|
22
|
+
let jsCell = ws.getCell(fsCell.Address.Address)
|
|
23
|
+
jsCell.value <- JsCell.writeFromFsCell fsCell
|
|
24
|
+
let tables = fsws.Tables |> Seq.map (fun table -> JsTable.writeFromFsTable fsws.CellCollection table)
|
|
25
|
+
for table in tables do
|
|
26
|
+
ws.addTable(table) |> ignore
|
|
27
|
+
|
|
28
|
+
let readToFsWorksheet (wb: FsWorkbook) (jsws: Worksheet) : unit =
|
|
29
|
+
let fsws = FsWorksheet(jsws.name)
|
|
30
|
+
jsws.eachRow(fun (row, rowIndex) ->
|
|
31
|
+
row.eachCell(fun (c, columnIndex) ->
|
|
32
|
+
if c.value.IsSome then
|
|
33
|
+
let fsCell = JsCell.readToFsCell jsws.name rowIndex columnIndex c
|
|
34
|
+
fsws.AddCell(fsCell) |> ignore
|
|
35
|
+
)
|
|
36
|
+
)
|
|
37
|
+
for jstableref in jsws.getTables() do
|
|
38
|
+
let table = JsTable.readToFsTable jstableref
|
|
39
|
+
fsws.AddTable table |> ignore
|
|
40
|
+
fsws.RescanRows()
|
|
41
|
+
wb.AddWorksheet(fsws)
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { map } from "../fable-library-js.4.24.0/Seq.js";
|
|
2
|
+
import { disposeSafe, getEnumerator } from "../fable-library-js.4.24.0/Util.js";
|
|
3
|
+
import { FsAddress__get_Address } from "../FsSpreadsheet.6.3.1/FsAddress.fs.js";
|
|
4
|
+
import { readToFsCell, writeFromFsCell } from "./Cell.fs.js";
|
|
5
|
+
import { readToFsTable, writeFromFsTable } from "./Table.fs.js";
|
|
6
|
+
import { FsWorksheet } from "../FsSpreadsheet.6.3.1/FsWorksheet.fs.js";
|
|
7
|
+
import { item } from "../fable-library-js.4.24.0/Array.js";
|
|
8
|
+
|
|
9
|
+
export function writeFromFsWorksheet(wb, fsws) {
|
|
10
|
+
fsws.RescanRows();
|
|
11
|
+
const rows = map((x) => x.Cells, fsws.Rows);
|
|
12
|
+
const ws = wb.addWorksheet(fsws.Name);
|
|
13
|
+
const enumerator = getEnumerator(rows);
|
|
14
|
+
try {
|
|
15
|
+
while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
|
|
16
|
+
const enumerator_1 = getEnumerator(enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]());
|
|
17
|
+
try {
|
|
18
|
+
while (enumerator_1["System.Collections.IEnumerator.MoveNext"]()) {
|
|
19
|
+
const fsCell = enumerator_1["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
20
|
+
const jsCell = ws.getCell(FsAddress__get_Address(fsCell.Address));
|
|
21
|
+
jsCell.value = writeFromFsCell(fsCell);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
disposeSafe(enumerator_1);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
finally {
|
|
30
|
+
disposeSafe(enumerator);
|
|
31
|
+
}
|
|
32
|
+
const enumerator_2 = getEnumerator(map((table) => writeFromFsTable(fsws.CellCollection, table), fsws.Tables));
|
|
33
|
+
try {
|
|
34
|
+
while (enumerator_2["System.Collections.IEnumerator.MoveNext"]()) {
|
|
35
|
+
const table_1 = enumerator_2["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
36
|
+
ws.addTable(table_1);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
finally {
|
|
40
|
+
disposeSafe(enumerator_2);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function readToFsWorksheet(wb, jsws) {
|
|
45
|
+
const fsws = new FsWorksheet(jsws.name);
|
|
46
|
+
jsws.eachRow(function(row, rowNumber){((tupledArg) => {
|
|
47
|
+
tupledArg[0].eachCell(function(cell, rowIndex){((tupledArg_1) => {
|
|
48
|
+
const c = tupledArg_1[0];
|
|
49
|
+
if (c.value != null) {
|
|
50
|
+
const fsCell = readToFsCell(jsws.name, tupledArg[1], tupledArg_1[1], c);
|
|
51
|
+
fsws.AddCell(fsCell);
|
|
52
|
+
}
|
|
53
|
+
})([cell, rowIndex])});
|
|
54
|
+
})([row, rowNumber])});
|
|
55
|
+
const arr = jsws.getTables();
|
|
56
|
+
for (let idx = 0; idx <= (arr.length - 1); idx++) {
|
|
57
|
+
const table = readToFsTable(item(idx, arr));
|
|
58
|
+
fsws.AddTable(table);
|
|
59
|
+
}
|
|
60
|
+
fsws.RescanRows();
|
|
61
|
+
wb.AddWorksheet(fsws);
|
|
62
|
+
}
|
|
63
|
+
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
namespace FsSpreadsheet.Js
|
|
2
|
+
|
|
3
|
+
open FsSpreadsheet
|
|
4
|
+
open Fable.ExcelJs
|
|
5
|
+
open Fable.Core
|
|
6
|
+
open Fable.Core.JsInterop
|
|
7
|
+
open Fable.Core.JS
|
|
8
|
+
|
|
9
|
+
/// This does currently not correctly work if you want to use this from js
|
|
10
|
+
/// https://github.com/fable-compiler/Fable/issues/3498
|
|
11
|
+
[<AttachMembers>]
|
|
12
|
+
type Xlsx =
|
|
13
|
+
static member fromXlsxFile (path:string) : Promise<FsWorkbook> =
|
|
14
|
+
promise {
|
|
15
|
+
let wb = ExcelJs.Excel.Workbook()
|
|
16
|
+
do! wb.xlsx.readFile(path)
|
|
17
|
+
let fswb = JsWorkbook.readToFsWorkbook wb
|
|
18
|
+
return fswb
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
[<System.Obsolete("Use fromXlsxFile instead")>]
|
|
22
|
+
static member fromFile (path:string) : Promise<FsWorkbook> =
|
|
23
|
+
Xlsx.fromXlsxFile path
|
|
24
|
+
|
|
25
|
+
static member fromXlsxStream (stream:System.IO.Stream) : Promise<FsWorkbook> =
|
|
26
|
+
promise {
|
|
27
|
+
let wb = ExcelJs.Excel.Workbook()
|
|
28
|
+
do! wb.xlsx.read stream
|
|
29
|
+
return JsWorkbook.readToFsWorkbook wb
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
[<System.Obsolete("Use fromXlsxStream instead")>]
|
|
33
|
+
static member fromStream (stream:System.IO.Stream) : Promise<FsWorkbook> =
|
|
34
|
+
Xlsx.fromXlsxStream stream
|
|
35
|
+
|
|
36
|
+
static member fromXlsxBytes (bytes: byte []) : Promise<FsWorkbook> =
|
|
37
|
+
promise {
|
|
38
|
+
let wb = ExcelJs.Excel.Workbook()
|
|
39
|
+
let uint8 = Fable.Core.JS.Constructors.Uint8Array.Create bytes
|
|
40
|
+
do! wb.xlsx.load(uint8.buffer)
|
|
41
|
+
return JsWorkbook.readToFsWorkbook wb
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
[<System.Obsolete("Use fromXlsxBytes instead")>]
|
|
45
|
+
static member fromBytes (bytes: byte []) : Promise<FsWorkbook> =
|
|
46
|
+
Xlsx.fromXlsxBytes bytes
|
|
47
|
+
|
|
48
|
+
static member toXlsxFile (path: string) (wb:FsWorkbook) : Promise<unit> =
|
|
49
|
+
let jswb = JsWorkbook.writeFromFsWorkbook wb
|
|
50
|
+
jswb.xlsx.writeFile(path)
|
|
51
|
+
|
|
52
|
+
[<System.Obsolete("Use toXlsxFile instead")>]
|
|
53
|
+
static member toFile (path: string) (wb:FsWorkbook) : Promise<unit> =
|
|
54
|
+
Xlsx.toXlsxFile path wb
|
|
55
|
+
|
|
56
|
+
static member toXlsxStream (stream: System.IO.Stream) (wb:FsWorkbook) : Promise<unit> =
|
|
57
|
+
let jswb = JsWorkbook.writeFromFsWorkbook wb
|
|
58
|
+
jswb.xlsx.write(stream)
|
|
59
|
+
|
|
60
|
+
[<System.Obsolete("Use toXlsxStream instead")>]
|
|
61
|
+
static member toStream (stream: System.IO.Stream) (wb:FsWorkbook) : Promise<unit> =
|
|
62
|
+
Xlsx.toXlsxStream stream wb
|
|
63
|
+
|
|
64
|
+
static member toXlsxBytes (wb:FsWorkbook) : Promise<byte []> =
|
|
65
|
+
promise {
|
|
66
|
+
let jswb = JsWorkbook.writeFromFsWorkbook wb
|
|
67
|
+
let buffer = jswb.xlsx.writeBuffer()
|
|
68
|
+
return !!buffer
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
[<System.Obsolete("Use toXlsxBytes instead")>]
|
|
72
|
+
static member toBytes (wb:FsWorkbook) : Promise<byte []> =
|
|
73
|
+
Xlsx.toXlsxBytes wb
|
|
74
|
+
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { PromiseBuilder__Delay_62FBFDE1, PromiseBuilder__Run_212F1D4B } from "../Fable.Promise.3.2.0/Promise.fs.js";
|
|
2
|
+
import { Excel } from "../Fable.Exceljs.1.6.0/ExcelJs.fs.js";
|
|
3
|
+
import { promise } from "../Fable.Promise.3.2.0/PromiseImpl.fs.js";
|
|
4
|
+
import { writeFromFsWorkbook, readToFsWorkbook } from "./Workbook.fs.js";
|
|
5
|
+
import { class_type } from "../fable-library-js.4.24.0/Reflection.js";
|
|
6
|
+
|
|
7
|
+
export class Xlsx {
|
|
8
|
+
constructor() {
|
|
9
|
+
}
|
|
10
|
+
static fromXlsxFile(path) {
|
|
11
|
+
return PromiseBuilder__Run_212F1D4B(promise, PromiseBuilder__Delay_62FBFDE1(promise, () => {
|
|
12
|
+
const wb = new Excel.Workbook();
|
|
13
|
+
return wb.xlsx.readFile(path).then(() => {
|
|
14
|
+
const fswb = readToFsWorkbook(wb);
|
|
15
|
+
return Promise.resolve(fswb);
|
|
16
|
+
});
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
static fromFile(path) {
|
|
20
|
+
return Xlsx.fromXlsxFile(path);
|
|
21
|
+
}
|
|
22
|
+
static fromXlsxStream(stream) {
|
|
23
|
+
return PromiseBuilder__Run_212F1D4B(promise, PromiseBuilder__Delay_62FBFDE1(promise, () => {
|
|
24
|
+
const wb = new Excel.Workbook();
|
|
25
|
+
return wb.xlsx.read(stream).then(() => (Promise.resolve(readToFsWorkbook(wb))));
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
static fromStream(stream) {
|
|
29
|
+
return Xlsx.fromXlsxStream(stream);
|
|
30
|
+
}
|
|
31
|
+
static fromXlsxBytes(bytes) {
|
|
32
|
+
return PromiseBuilder__Run_212F1D4B(promise, PromiseBuilder__Delay_62FBFDE1(promise, () => {
|
|
33
|
+
const wb = new Excel.Workbook();
|
|
34
|
+
const uint8 = new Uint8Array(bytes);
|
|
35
|
+
return wb.xlsx.load(uint8.buffer).then(() => (Promise.resolve(readToFsWorkbook(wb))));
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
static fromBytes(bytes) {
|
|
39
|
+
return Xlsx.fromXlsxBytes(bytes);
|
|
40
|
+
}
|
|
41
|
+
static toXlsxFile(path, wb) {
|
|
42
|
+
const jswb = writeFromFsWorkbook(wb);
|
|
43
|
+
return jswb.xlsx.writeFile(path);
|
|
44
|
+
}
|
|
45
|
+
static toFile(path, wb) {
|
|
46
|
+
return Xlsx.toXlsxFile(path, wb);
|
|
47
|
+
}
|
|
48
|
+
static toXlsxStream(stream, wb) {
|
|
49
|
+
const jswb = writeFromFsWorkbook(wb);
|
|
50
|
+
return jswb.xlsx.write(stream);
|
|
51
|
+
}
|
|
52
|
+
static toStream(stream, wb) {
|
|
53
|
+
return Xlsx.toXlsxStream(stream, wb);
|
|
54
|
+
}
|
|
55
|
+
static toXlsxBytes(wb) {
|
|
56
|
+
return PromiseBuilder__Run_212F1D4B(promise, PromiseBuilder__Delay_62FBFDE1(promise, () => {
|
|
57
|
+
const jswb = writeFromFsWorkbook(wb);
|
|
58
|
+
const buffer = jswb.xlsx.writeBuffer();
|
|
59
|
+
return Promise.resolve(buffer);
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
static toBytes(wb) {
|
|
63
|
+
return Xlsx.toXlsxBytes(wb);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function Xlsx_$reflection() {
|
|
68
|
+
return class_type("FsSpreadsheet.Js.Xlsx", undefined, Xlsx);
|
|
69
|
+
}
|
|
70
|
+
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { join } from "../fable-library-js.4.
|
|
2
|
-
import { length, tail as tail_1, head as head_1, isEmpty, cons, reverse as reverse_1, ofSeq, singleton, append, empty, fold, tryLast, map as map_1 } from "../fable-library-js.4.
|
|
3
|
-
import { Result_Map, Result_MapError, FSharpResult$2 } from "../fable-library-js.4.
|
|
1
|
+
import { join } from "../fable-library-js.4.24.0/String.js";
|
|
2
|
+
import { length, tail as tail_1, head as head_1, isEmpty, cons, reverse as reverse_1, ofSeq, singleton, append, empty, fold, tryLast, map as map_1 } from "../fable-library-js.4.24.0/List.js";
|
|
3
|
+
import { Result_Map, Result_MapError, FSharpResult$2 } from "../fable-library-js.4.24.0/Result.js";
|
|
4
4
|
import { ErrorReason$1 } from "./Types.fs.js";
|
|
5
|
-
import { tryParse as tryParse_1 } from "../fable-library-js.4.
|
|
6
|
-
import { FSharpRef } from "../fable-library-js.4.
|
|
7
|
-
import { tryParse as tryParse_2 } from "../fable-library-js.4.
|
|
8
|
-
import { tryParse as tryParse_4, fromInt32, toUInt64, fromFloat64, toInt64, toFloat64 } from "../fable-library-js.4.
|
|
9
|
-
import { tryParse as tryParse_3 } from "../fable-library-js.4.
|
|
10
|
-
import { tryParse as tryParse_5 } from "../fable-library-js.4.
|
|
11
|
-
import Decimal from "../fable-library-js.4.
|
|
12
|
-
import { toUniversalTime, tryParse as tryParse_6, minValue } from "../fable-library-js.4.
|
|
13
|
-
import { tryParse as tryParse_7, minValue as minValue_1 } from "../fable-library-js.4.
|
|
14
|
-
import { tryParse as tryParse_8 } from "../fable-library-js.4.
|
|
15
|
-
import { value as value_7, defaultArg, some } from "../fable-library-js.4.
|
|
16
|
-
import { compare, comparePrimitives, defaultOf, int32ToString } from "../fable-library-js.4.
|
|
17
|
-
import { fill, setItem, fold as fold_1, item } from "../fable-library-js.4.
|
|
18
|
-
import { toList, append as append_1, reverse } from "../fable-library-js.4.
|
|
19
|
-
import { class_type } from "../fable-library-js.4.
|
|
20
|
-
import { ofSeq as ofSeq_1, ofList } from "../fable-library-js.4.
|
|
5
|
+
import { tryParse as tryParse_1 } from "../fable-library-js.4.24.0/Guid.js";
|
|
6
|
+
import { FSharpRef } from "../fable-library-js.4.24.0/Types.js";
|
|
7
|
+
import { tryParse as tryParse_2 } from "../fable-library-js.4.24.0/Int32.js";
|
|
8
|
+
import { tryParse as tryParse_4, fromInt32, toUInt64, fromFloat64, toInt64, toFloat64 } from "../fable-library-js.4.24.0/BigInt.js";
|
|
9
|
+
import { tryParse as tryParse_3 } from "../fable-library-js.4.24.0/Long.js";
|
|
10
|
+
import { tryParse as tryParse_5 } from "../fable-library-js.4.24.0/Decimal.js";
|
|
11
|
+
import Decimal from "../fable-library-js.4.24.0/Decimal.js";
|
|
12
|
+
import { toUniversalTime, tryParse as tryParse_6, minValue } from "../fable-library-js.4.24.0/Date.js";
|
|
13
|
+
import { tryParse as tryParse_7, minValue as minValue_1 } from "../fable-library-js.4.24.0/DateOffset.js";
|
|
14
|
+
import { tryParse as tryParse_8 } from "../fable-library-js.4.24.0/TimeSpan.js";
|
|
15
|
+
import { value as value_7, defaultArg, some } from "../fable-library-js.4.24.0/Option.js";
|
|
16
|
+
import { compare, comparePrimitives, defaultOf, int32ToString } from "../fable-library-js.4.24.0/Util.js";
|
|
17
|
+
import { fill, setItem, fold as fold_1, item } from "../fable-library-js.4.24.0/Array.js";
|
|
18
|
+
import { toList, append as append_1, reverse } from "../fable-library-js.4.24.0/Seq.js";
|
|
19
|
+
import { class_type } from "../fable-library-js.4.24.0/Reflection.js";
|
|
20
|
+
import { ofSeq as ofSeq_1, ofList } from "../fable-library-js.4.24.0/Map.js";
|
|
21
21
|
|
|
22
22
|
export function Helpers_prependPath(path, err_, err__1) {
|
|
23
23
|
const err = [err_, err__1];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { map as map_1 } from "../fable-library-js.4.
|
|
2
|
-
import { map as map_2 } from "../fable-library-js.4.
|
|
3
|
-
import { disposeSafe, getEnumerator } from "../fable-library-js.4.
|
|
4
|
-
import { toList, toSeq } from "../fable-library-js.4.
|
|
5
|
-
import { map as map_3 } from "../fable-library-js.4.
|
|
6
|
-
import { map as map_4, defaultArgWith } from "../fable-library-js.4.
|
|
1
|
+
import { map as map_1 } from "../fable-library-js.4.24.0/List.js";
|
|
2
|
+
import { map as map_2 } from "../fable-library-js.4.24.0/Seq.js";
|
|
3
|
+
import { disposeSafe, getEnumerator } from "../fable-library-js.4.24.0/Util.js";
|
|
4
|
+
import { toList, toSeq } from "../fable-library-js.4.24.0/Map.js";
|
|
5
|
+
import { map as map_3 } from "../fable-library-js.4.24.0/Array.js";
|
|
6
|
+
import { map as map_4, defaultArgWith } from "../fable-library-js.4.24.0/Option.js";
|
|
7
7
|
|
|
8
8
|
export function float32(value) {
|
|
9
9
|
return {
|