Skip to content

Commit

Permalink
More range and sheet functions
Browse files Browse the repository at this point in the history
  • Loading branch information
kika committed Jun 7, 2016
1 parent 316e631 commit b21b3d7
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 0 deletions.
47 changes: 47 additions & 0 deletions src/Google/AppsScript/SpreadsheetApp.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,50 @@ exports.getSheetId = function (sheet) {
return sheet.getSheetId();
}
} //Sheet -> GASEff Int

exports.getRange = function (range) {
return function (sheet) {
return function () {
return sheet.getRange(range);
}
}
} // String -> Sheet -> GASEff Range

exports.setActiveRange = function (range) {
return function (sheet) {
return function () {
return sheet.setActiveRange(range);
}
}
} // Range -> Sheet -> GASEff Range

exports.getMaxRows = function (sheet) {
return function () {
return sheet.getMaxRows();
}
} // Sheet -> GASEff Int

exports.getMaxColumns = function (sheet) {
return function () {
return sheet.getMaxColumns();
}
} // Sheet -> GASEff Int

exports.getRange2Impl = function (r, c, sheet) {
return function () {
return sheet.getRange(r, c);
}
} // Fn3 Row Column Sheet (GASEff Range)

exports.getRange3Impl = function (r, c, rs, sheet) {
return function () {
return sheet.getRange(r, c, rs);
}
} // Fn4 Row Column Int Sheet (GASEff Range)

exports.getRange4Impl = function (r, c, rs, cs, sheet) {
return function () {
return sheet.getRange(r, c, rs, cs);
}
} // Fn5 Row Column Int Int Sheet (GASEff Range)

20 changes: 20 additions & 0 deletions src/Google/AppsScript/SpreadsheetApp.purs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ module Google.AppsScript.SpreadsheetApp
, getActiveSheet
, getSheetId
, getName
, getRange2
, getRange3
, getRange4
, setActiveRange
, getMaxColumns
, getMaxRows
) where

import Prelude
Expand All @@ -46,6 +52,13 @@ foreign import getUi::SpreadsheetApp -> GASEff Ui
foreign import getActiveSheet::SpreadsheetApp -> GASEff Sheet
foreign import getName::Sheet -> GASEff String
foreign import getSheetId::Sheet -> GASEff Int
foreign import getRange::String -> Sheet -> GASEff Range
foreign import getRange2Impl::Fn3 Row Column Sheet (GASEff Range)
foreign import getRange3Impl::Fn4 Row Column Int Sheet (GASEff Range)
foreign import getRange4Impl::Fn5 Row Column Int Int Sheet (GASEff Range)
foreign import setActiveRange::Range -> Sheet -> GASEff Range
foreign import getMaxRows::Sheet -> GASEff Int
foreign import getMaxColumns::Sheet -> GASEff Int

-- Range functions
foreign import getActiveRange::SpreadsheetApp -> GASEff Range
Expand All @@ -61,3 +74,10 @@ foreign import getFormula::Range -> GASEff String

getCell::Row -> Column -> Range -> GASEff Range
getCell row col range = runFn3 getCellImpl range row col
getRange2::Row -> Column -> Sheet -> GASEff Range
getRange2 row col sheet = runFn3 getRange2Impl row col sheet
getRange3::Row -> Column -> Int -> Sheet -> GASEff Range
getRange3 row col rows sheet = runFn4 getRange3Impl row col rows sheet
getRange4::Row -> Column -> Int -> Int -> Sheet -> GASEff Range
getRange4 row col rows cols sheet = runFn5 getRange4Impl row col rows cols sheet

0 comments on commit b21b3d7

Please sign in to comment.