diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f9324d1bdd..86b77f8c6b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,6 +2,7 @@ # Add yourself to the "Definitions by:" list instead. # See https://github.com/DefinitelyTyped/DefinitelyTyped#edit-an-existing-package +/types/a-big-triangle/ @MathiasPaumgarten /types/abbrev/ @BendingBender /types/abs/ @AyaMorisawa /types/absolute/ @AyaMorisawa @@ -10,17 +11,20 @@ /types/accepts/ @bomret @brikou /types/accounting/ @gerich-home @chrisleck /types/ace/ @Diullei +/types/ace-diff/ @innovation-team /types/acl/ @tkQubo /types/acorn/ @RReverser @e-cloud /types/actioncable/ @zhu1230 /types/actions-on-google/ @joelhegg /types/activex-access/ @zspitz /types/activex-adodb/ @zspitz +/types/activex-adox/ @zspitz /types/activex-dao/ @zspitz /types/activex-diskquota/ @zspitz /types/activex-excel/ @zspitz /types/activex-faxcomexlib/ @zspitz /types/activex-infopath/ @zspitz +/types/activex-interop/ @zspitz /types/activex-iwshruntimelibrary/ @zspitz /types/activex-libreoffice/ @zspitz /types/activex-msforms/ @zspitz @@ -36,19 +40,21 @@ /types/activex-vbide/ @zspitz /types/activex-wia/ @zspitz /types/activex-word/ @zspitz -/types/adal-angular/ @unindented +/types/adal-angular/ @unindented @aciccarello /types/add-zero/ @Roaders /types/adm-zip/ @jvilk @abner /types/adone/ @s0m3on3 @maxveres -/types/aframe/ @devpaul @bertoritger +/types/aframe/ @devpaul @bertoritger @twastvedt /types/agenda/ @meirgottlieb @princjef /types/aggregate-error/ @BendingBender /types/alertify/ @jjeffery /types/alexa-sdk/ @petebeegle @hoo29 @pascalwhoop @blforce @rk-7 @alexmalcoci /types/alexa-voice-service/ @dolanmiu /types/algebra.js/ @CaselIT -/types/algoliasearch/ @cbaptiste @haroenv @aherve +/types/algoliasearch/ @cbaptiste @haroenv @aherve @samouss +/types/allure-js-commons/ @zaqqaz /types/alt/ @Shearerbeard +/types/amazon-cognito-auth-js/ @scottescue /types/amazon-product-api/ @MattiLehtinen @alien35 /types/amcharts/ @ldrick /types/amp/ @jewbre @@ -119,7 +125,7 @@ /types/angular-toastr/ @nkovacic @trodi /types/angular-toasty/ @muenchdo /types/angular-tooltips/ @leonard-thieu -/types/angular-translate/ @michelsalib +/types/angular-translate/ @michelsalib @GabrielGil /types/angular-ui-bootstrap/ @xt0rted @ry8806 /types/angular-ui-router/ @michelsalib @matiishyn @mikehaas763 /types/angular-ui-scroll/ @marknadig @@ -136,8 +142,9 @@ /types/animejs/ @A-Babin /types/annyang/ @hisham @theluk /types/ansi-colors/ @rogierschouten +/types/ansi-escapes/ @jacobbubu /types/ansi-regex/ @mvachhar -/types/ansi-styles/ @brynbellomy +/types/ansi-styles/ @brynbellomy @plylrnsdy /types/ansicolors/ @rogierschouten /types/any-db/ @rogierschouten /types/any-db-transaction/ @rogierschouten @@ -146,6 +153,7 @@ /types/apex.js/ @y13i /types/aphrodite/ @asvetliakov /types/api-error-handler/ @tkrotoff +/types/apicache/ @danielsogl /types/apigee-access/ @CasperSkydt /types/apollo-codegen/ @bradleyayers /types/app-root-dir/ @chenyang-biu @@ -156,9 +164,10 @@ /types/appletvjs/ @brainded /types/applicationinsights-js/ @kamilszostak /types/aqb/ @Athenkosi-Mase +/types/arangodb/ @pluma /types/arbiter/ @arash16 -/types/arcgis-js-api/v3/ @Esri -/types/arcgis-js-api/ @Esri +/types/arcgis-js-api/v3/ @Esri @bsvensson +/types/arcgis-js-api/ @Esri @bsvensson /types/arcgis-rest-api/ @JeffJacobson /types/arcgis-to-geojson-utils/ @JeffJacobson /types/archiver/ @dolanmiu @crevil @@ -192,7 +201,12 @@ /types/async.nexttick/ @pyrho /types/asynciterator/ @rubensworks /types/atlaskit__button/ @dijimsta +/types/atlaskit__calendar/ @lstanden +/types/atlaskit__inline-edit/ @lstanden +/types/atlaskit__layer/ @lstanden +/types/atlaskit__single-select/ @lstanden /types/atmosphere.js/ @toedter @Mory1879 @Scipion +/types/atob/ @johngeorgewright /types/atom/ @GlenCFL @smhxx @lierdakil /types/atom-keymap/ @GlenCFL /types/atom-mocha-test-runner/ @GlenCFL @@ -211,12 +225,13 @@ /types/autoprefixer/ @odnamrataizem /types/autosize/ @kingdango @keika299 @NeekSandhu /types/autosuggest-highlight/ @senukartur -/types/awesomplete/ @webbiesdk @bmdixon @tbekolay +/types/awesomplete/ @webbiesdk @bmdixon @tbekolay @chrislopresto /types/aws-iot-device-sdk/ @niik @mlamp -/types/aws-lambda/ @skarum @tobyhede @buggy @y13i @wwwy3y3 @OrthoDex @MichaelMarner @daniel-cottone @kostya-misura @coderbyheart @palmithor @daniloraisi @simonbuchan @Haydabase @repl-chris +/types/aws-lambda/ @skarum @tobyhede @buggy @y13i @wwwy3y3 @OrthoDex @MichaelMarner @daniel-cottone @kostya-misura @coderbyheart @palmithor @daniloraisi @simonbuchan @Haydabase @repl-chris @aneilbaboo /types/aws-serverless-express/ @threesquared @jcaffey @mattmeye @albertovasquez /types/aws4/ @ajcrites /types/axel/ @ruslan-molodyko +/types/axon/ @jewbre /types/azure/ @AndrewGaspar @antiveeranna @SomaticIT /types/azure-mobile-services-client/ @dmorosinotto /types/azure-sb/ @Azure @@ -254,6 +269,7 @@ /types/base-64/ @dolanmiu /types/base-x/ @chrootsu /types/base16/ @alechill +/types/base64-arraybuffer/ @jbencook /types/base64-js/ @pe8ter /types/base64-url/ @urish /types/base64topdf/ @lucasriondel @@ -262,10 +278,11 @@ /types/basic-auth/ @moonpyk @vesse /types/batch-stream/ @drudge /types/bazinga-translator/ @alexndlm -/types/bcrypt/ @codeanimal @IOAyman +/types/bcrypt/ @codeanimal @IOAyman @dstapleton92 /types/bcryptjs/ @RafaelKr /types/beats/ @urish /types/bech32/ @micksatana +/types/behavior3/ @carrrywu /types/bell/ @SimonSchick /types/bem-cn/ @selkinvitaly /types/better-curry/ @pocesar @@ -273,6 +290,7 @@ /types/bezier-easing/ @ptlis /types/bezier-js/ @danmarshall /types/bgiframe/ @sumegizoltan +/types/bidirectional-map/ @helenanderson /types/big.js/ @nycdotnet @googol /types/bigi/ @mhegazy /types/bigint/ @Evgenus @@ -286,7 +304,7 @@ /types/bip38/ @micksatana /types/bip39/ @micksatana /types/bit-array/ @mudkipme -/types/bitcoinjs-lib/ @mhegazy @dlebrecht @rbuckton @micksatana @youssefgh +/types/bitcoinjs-lib/ @mhegazy @dlebrecht @rbuckton @micksatana @youssefgh @kento1218 /types/bitcore-lib/ @lautarodragan /types/bittorrent-protocol/ @feross @tlaziuk /types/bitwise-xor/ @rogierschouten @@ -298,6 +316,8 @@ /types/blob-stream/ @erichillah /types/blob-to-buffer/ @nrlquaker /types/blob-util/ @WorldMaker +/types/blocked/ @l-jonas +/types/blockies/ @LogvinovLeon /types/blocks/ @ksmigiel /types/bloomfilter/ @slawiko /types/blue-tape/ @sodatea @@ -307,7 +327,9 @@ /types/bluebird-global/ @d-ph /types/bluebird-retry/ @pvomhoff /types/blueimp-md5/ @rmartone @mkohlmyr -/types/body-parser/ @santialbo @vilic @dreampulse @blendsdk @tlaziuk +/types/bn.js/ @LogvinovLeon +/types/body-parser/ @santialbo @vilic @dreampulse @blendsdk @tlaziuk @jwalton +/types/body-parser-xml/ @tbounsiar /types/bonjour/ @quentin-ol @octo-sniffle /types/bookshelf/ @arcticwaters @vesse /types/boom/v3/ @rogatty @@ -350,10 +372,11 @@ /types/browser-pack/ @TeamworkGuy2 /types/browser-report/ @JTOne123 /types/browser-resolve/ @marionebl -/types/browser-sync/ @joeskeen +/types/browser-sync/ @joeskeen @aznnomness /types/browserify/ @AndrewGaspar @jvilk @leonard-thieu /types/bs58/ @chrootsu /types/bson/ @horiuchi @CaselIT +/types/btoa/ @johngeorgewright /types/bucks/ @zaneli /types/buffer-compare/ @chrootsu /types/buffer-equal/ @Bartvds @@ -404,7 +427,7 @@ /types/cbor/ @pushplay /types/ccap/ @taoqf /types/chai/v2/ @Bartvds @AGBrown -/types/chai/ @jedmao @Bartvds @AGBrown @olivr70 @mwistrand @joshuakgoldberg @shaunluttin @Naktibalda @micksatana +/types/chai/ @jedmao @Bartvds @AGBrown @olivr70 @mwistrand @joshuakgoldberg @shaunluttin @Naktibalda @micksatana @ErikSchierboom /types/chai-arrays/ @clementprevot /types/chai-as-promised/ @jt000 @Kuniwak @leonard-thieu @lazerwalker @mattbishop /types/chai-datetime/ @cliffburger @@ -419,14 +442,16 @@ /types/chai-spies/ @kuzn-ilya /types/chai-string/ @nmalaguti /types/chai-subset/ @delta62 @AGBrown +/types/chai-uuid/ @harm-less /types/chai-webdriverio/ @sherlock1982 /types/chai-xml/ @jedigo /types/chance/ @cbowdon @brikou @cafesanu /types/change-emitter/ @iskandersierra +/types/chardet/ @Gebatzens /types/charm/ @Xananax /types/charset/ @cspotcode -/types/chart.js/ @anuti @FabienLavocat @KentarouTakeda @larrybahr @mernen @josefpaij @danmana @guillaume-ro-fr @chicoxyzzy -/types/chartist/ @mtgibbs @psimonski @clottman +/types/chart.js/ @anuti @FabienLavocat @KentarouTakeda @larrybahr @mernen @josefpaij @danmana @guillaume-ro-fr @chicoxyzzy @archy-bold @braincore +/types/chartist/ @mtgibbs @psimonski @clottman @affilnost /types/chayns/ @HenningKuehl /types/check-sum/ @BendingBender /types/check-types/ @idchlife @@ -441,9 +466,11 @@ /types/chroma-js/v0/ @invliD /types/chroma-js/ @invliD @mpacholec /types/chrome/ @matthewkimber @otiai10 @couven92 @rreverser @sreimer15 +/types/chromedriver/ @pe8ter /types/circuit-breaker-js/ @DeTeam /types/circular-json/ @jpevarnek -/types/ckeditor/ @wittwert +/types/ckeditor/v2/ @wittwert +/types/ckeditor/ @wittwert @stuartlong /types/clamp-js/ @Hikariii /types/clamp-js-main/ @sinziananicolae /types/classnames/ @adidahiya @JKillian @seansfkelley @mradamczyk @marvinhagemeister @@ -458,15 +485,21 @@ /types/cleave.js/ @clentfort @jasongi-at-sportsbet @sashashakun /types/cli/ @kayahr /types/cli-color/ @ChaosinaCan +/types/cli-progress/ @mhegazy /types/cli-spinner/ @janslow +/types/cli-table/ @arylo /types/cli-table2/ @mgroenhoff /types/client-sessions/ @netroy +/types/clientjs/ @icopp /types/cliff/ @brynbellomy /types/clipboard/ @impworks /types/clipboard-js/ @markwongsk /types/clipboardy/ @BendingBender +/types/clmtrackr/ @hellochar /types/clndr/ @jasperjn /types/clockpicker/ @jfcere +/types/cloneable-readable/ @qlonik +/types/cloner/ @matrumz /types/closure-compiler/ @mprobst /types/cloud-env/ @Morfent /types/cloudflare-apps/ @MartynasZilinskas @@ -496,14 +529,17 @@ /types/combined-stream/ @felixge @tlaziuk /types/combokeys/ @iclanton /types/cometd/ @derekcicerone -/types/command-line-args/ @CzBuCHi +/types/command-line-args/v4/ @CzBuCHi @75lb +/types/command-line-args/ @75lb /types/command-line-commands/ @CzBuCHi -/types/command-line-usage/ @Dvorsky +/types/command-line-usage/ @matrumz @Dvorsky /types/commangular/ @hiraash /types/comment-json/ @Jason3S +/types/common-errors/ @icopp /types/common-tags/ @zuzusik @tzupengwang /types/commonmark/ @nicojs @leonard-thieu /types/compare-version/ @jpevarnek +/types/compare-versions/ @LogvinovLeon /types/complex/ @AyaMorisawa /types/component-emitter/ @psnider /types/compose-function/ @denis-sokolov @@ -520,7 +556,7 @@ /types/configstore/ @ArcticLight /types/configurable/ @jewbre /types/confit/ @ethanresnick -/types/connect/ @SomaticIT +/types/connect/ @SomaticIT @EvanHahn /types/connect-busboy/ @pinguet62 /types/connect-ensure-login/ @0x6368656174 /types/connect-flash/ @AndreasGassmann @@ -543,7 +579,7 @@ /types/convert-hrtime/ @BendingBender /types/convert-layout/ @xeningem /types/convert-source-map/ @AndrewGaspar @mgroenhoff @TeamworkGuy2 -/types/convict/ @Nemo157 @vesse @elyscape +/types/convict/ @Nemo157 @vesse @elyscape @vanthiyathevan /types/cookie/ @pine613 /types/cookie-parser/ @santialbo @BendingBender /types/cookie-session/ @borislavjivkov @@ -576,7 +612,10 @@ /types/cordova_app_version_plugin/ @larrybahr /types/cordovarduino/ @hendrikmaus /types/core-js/ @rbuckton @mfdeveloper -/types/cosmiconfig/ @ozum +/types/correlation-id/ @natemara +/types/cors/ @pluma +/types/cosmiconfig/v4/ @ozum +/types/cosmiconfig/ @ozum @szeck87 @saadq /types/cote/ @makepost /types/couchbase/ @maouida /types/countdown/ @gjuchault @@ -593,13 +632,14 @@ /types/crc/ @YuJianrong /types/create-error/ @tkrotoff /types/create-react-class/ @jgoz +/types/create-subscription/ @Asana @vsiao /types/createjs/ @evilangelist @gyohk /types/createjs-lib/ @evilangelist @gyohk /types/credential/ @phuvo /types/credit-card-type/ @LKay /types/cron/ @horiuchi @winup /types/cropperjs/ @stepancar -/types/croppie/ @connor4312 @dklmuc @sarunint +/types/croppie/ @connor4312 @dklmuc @sarunint @knuthelgesen /types/cross-spawn/ @Alorel /types/crossfilter/ @schmuli @iebaker @nordfjord /types/crossroads/ @diullei @@ -628,29 +668,29 @@ /types/cwise-compiler/ @taoqf /types/cwise-parser/ @taoqf /types/cybozulabs-md5/ @pine613 -/types/cytoscape/ @phreed @wy193777 @ypconstante @janniclas +/types/cytoscape/ @phreed @wy193777 @ypconstante @janniclas @cerberuser /types/d3/v3/ @gustavderdrache @borisyankov @MatthiasJobst /types/d3/v4/ @tomwanzek @gustavderdrache @borisyankov /types/d3/ @tomwanzek @gustavderdrache @borisyankov /types/d3-array/ @gustavderdrache @borisyankov @tomwanzek -/types/d3-axis/ @tomwanzek @gustavderdrache @borisyankov +/types/d3-axis/ @tomwanzek @gustavderdrache @borisyankov @denisname /types/d3-box/ @lk-chen /types/d3-brush/ @tomwanzek @gustavderdrache @borisyankov /types/d3-chord/ @tomwanzek @gustavderdrache @borisyankov /types/d3-collection/ @tomwanzek @gustavderdrache @borisyankov -/types/d3-color/ @tomwanzek @gustavderdrache @borisyankov +/types/d3-color/ @tomwanzek @gustavderdrache @borisyankov @denisname @ledragon /types/d3-contour/ @tomwanzek @Ledragon -/types/d3-dispatch/ @tomwanzek @gustavderdrache @borisyankov +/types/d3-dispatch/ @tomwanzek @gustavderdrache @borisyankov @denisname /types/d3-drag/ @tomwanzek @gustavderdrache @borisyankov /types/d3-dsv/ @tomwanzek @gustavderdrache @borisyankov /types/d3-ease/ @tomwanzek @gustavderdrache @borisyankov /types/d3-fetch/ @ledragon /types/d3-force/ @tomwanzek @gustavderdrache @borisyankov -/types/d3-format/ @tomwanzek @gustavderdrache @borisyankov -/types/d3-geo/ @Ledragon @tomwanzek @gustavderdrache @borisyankov +/types/d3-format/ @tomwanzek @gustavderdrache @borisyankov @denisname +/types/d3-geo/ @ledragon @tomwanzek @gustavderdrache @borisyankov /types/d3-hexbin/ @uncovertruth @tomwanzek /types/d3-hierarchy/ @tomwanzek @gustavderdrache @borisyankov -/types/d3-hsv/ @arrayjam +/types/d3-hsv/ @arrayjam @denisname /types/d3-interpolate/ @tomwanzek @gustavderdrache @borisyankov /types/d3-path/ @tomwanzek @gustavderdrache @borisyankov /types/d3-polygon/ @tomwanzek @gustavderdrache @borisyankov @@ -702,6 +742,7 @@ /types/db-migrate-pg/ @nickiannone /types/db.js/ @cgwrench /types/dc/ @hansrwindhoff @mtraynham @MatthiasJobst +/types/dd-trace/ @ColinBradley /types/deasync/ @Sicilica /types/debessmann/ @vkorehov /types/debounce/ @denis-sokolov @@ -724,16 +765,20 @@ /types/defer-promise/ @niklasf /types/define-lazy-prop/ @BendingBender /types/defined/ @BendingBender +/types/deglob/ @saadq /types/deku/ @pocka /types/del/v2/ @AyaMorisawa /types/del/ @AyaMorisawa @BendingBender @bitjson /types/delaunator/ @DenisCarriere /types/delay/ @BendingBender +/types/deline/ @iarroyo5 /types/denodeify/ @joaomoreno /types/deoxxa-content-type/ @pine613 /types/depcheck/ @ark120202 /types/depd/ @danny8002 @BendingBender +/types/dependency-tree/ @joscha /types/deployjava/ @cyrilschumacher +/types/derhuerst__cli-on-key/ @jacobbubu /types/destroy/ @BendingBender /types/destroy-on-hwm/ @BendingBender /types/detect-browser/ @rogierschouten @@ -746,6 +791,7 @@ /types/detect-pointer/ @thomastilkema /types/detect-port/ @lith-light-g /types/detect-touch-events/ @thomastilkema +/types/detox/ @TareqElMasri /types/df-visible/ @Litee /types/dhtmlxgantt/ @mkozhukh @chriscamicas /types/dhtmlxscheduler/ @mkozhukh @@ -755,6 +801,7 @@ /types/diff2html/ @rtfpessoa /types/dir-resolve/ @andy-ms /types/discontinuous-range/ @OiCMudkips +/types/discourse-sso/ @championswimmer /types/dispatchr/ @Ragg- /types/disposable-email-domains/ @geoffreak /types/dnssd/ @angelmerino @@ -762,11 +809,13 @@ /types/dockerode/ @seikho @nlaplante @isac322 @lazarusx @meisenzahl @thegecko /types/docopt/ @giggio /types/doctrine/ @rictic +/types/document-promises/ @NotWoods /types/documentdb/ @NoelAbrahams @brettferdosi @ctstone @yifanwu /types/documentdb-server/ @lith-light-g /types/documentdb-session/ @DanielRosenwasser /types/dojo/ @vansimke /types/dom-inputevent/ @diagramatics +/types/dom-to-image/ @JipSterk /types/dom4/ @adidahiya @giladgray /types/domo/ @Steve-Fenton /types/dompurify/ @bazuzi @@ -824,7 +873,7 @@ /types/easy-xapi/ @DeadAlready /types/easy-xapi-utils/ @DeadAlready /types/ebongarde-root/ @Ebongarde -/types/echarts/ @xieisabug @AntiMoron +/types/echarts/ @xieisabug @AntiMoron @liveangela /types/ecurve/ @mhegazy /types/ed25519/ @erikma /types/ed2curve/ @ffflorian @@ -839,7 +888,7 @@ /types/elasticsearch/ @CasperSkydt @bfsmith @ddunkin @pushplay @mlamp @ahmadferdous @SimonSchick @brabster @deerawan /types/electron-config/ @mrfunkycold @unindented /types/electron-debug/ @unindented -/types/electron-devtools-installer/ @gamesmaxed +/types/electron-devtools-installer/ @gamesmaxed @mfatihmar /types/electron-is-dev/ @trodi /types/electron-json-storage/ @stpettersens @nrlquaker @jbw91 /types/electron-notifications/ @djpereira @@ -886,6 +935,7 @@ /types/enzyme-adapter-react-15/ @tkrotoff /types/enzyme-adapter-react-15.4/ @nali /types/enzyme-adapter-react-16/ @tkrotoff +/types/enzyme-redux/ @knegusen /types/enzyme-to-json/ @joscha /types/eonasdan-bootstrap-datetimepicker/ @ToastHawaii /types/epiceditor/ @borisyankov @@ -902,7 +952,7 @@ /types/escape-regexp/ @jewbre /types/escape-string-regexp/ @kruncher @faergeek /types/escodegen/ @simondel -/types/eslint/ @pmdartus @j-f1 +/types/eslint/ @pmdartus @j-f1 @saadq /types/eslint-plugin-prettier/ @ikatyang /types/eslint-scope/ @mysticatea /types/eslint-visitor-keys/ @mysticatea @@ -915,12 +965,15 @@ /types/estraverse/ @sanex3339 /types/estree/ @RReverser /types/etag/ @BendingBender +/types/ethereumjs-abi/ @LogvinovLeon +/types/ethereumjs-tx/ @LogvinovLeon /types/ethereumjs-util/ @cortopy /types/ethjs-signer/ @doppio /types/eureka-js-client/ @Schnillz -/types/evaporate/ @kookster @chrisrhoden +/types/evaporate/ @kookster @chrisrhoden @ailrun /types/event-emitter/ @LKay /types/event-emitter-es6/ @ahstro +/types/event-hooks-webpack-plugin/ @pine /types/event-kit/ @GlenCFL /types/event-loop-lag/ @rogierschouten /types/event-stream/ @flcdrg @@ -941,6 +994,7 @@ /types/expectations/ @vvakame /types/expo/v23/ @KonstantinKai /types/expo/v24/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger +/types/expo/v25/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov /types/expo/ @KonstantinKai @martynaskadisa @janaagaard75 @ssanchezmarc @fhelwanger @umidbekkarimov /types/expo__vector-icons/ @incleaf /types/express/ @borisyankov @@ -951,6 +1005,7 @@ /types/express-bunyan-logger/ @shreyjain1994 /types/express-busboy/ @pinguet62 /types/express-cluster/ @nenadalm +/types/express-correlation-id/ @natemara /types/express-debug/ @federicobond /types/express-domain-middleware/ @hookclaw /types/express-ejs-layouts/ @erikma @@ -962,6 +1017,7 @@ /types/express-formidable/ @tdolsen @evanshortiss /types/express-graphql/ @isman-usoh @nitintutlani @hubel @zya @mlamp @firede /types/express-handlebars/ @stpettersens @yhaskell +/types/express-jsonschema/ @atd-schubert /types/express-jwt/ @wokim @kacepe @Sl1MBoy @milan-mimra /types/express-less/ @xieyubo /types/express-minify/ @borislavjivkov @@ -971,26 +1027,32 @@ /types/express-mysql-session/ @Akim95 /types/express-oauth-server/ @atd-schubert /types/express-openapi/ @mugeso +/types/express-paginate/ @AmirTugi /types/express-partials/ @jt000 /types/express-promise-router/ @wanganjun /types/express-rate-limit/ @cyrilschumacher @makepost /types/express-route-fs/ @kripod +/types/express-routemap/ @icopp /types/express-sanitized/ @cjbarth /types/express-serve-static-core/ @borisyankov @19majkel94 @kacepe @micksatana @samijaber /types/express-session/ @horiuchi @jacobbogers @builtinnya @ry7n +/types/express-socket.io-session/ @AylaJK /types/express-to-koa/ @xiaohanzhang /types/express-unless/ @wokim /types/express-winston/ @bricka +/types/express-ws/ @ajliv +/types/express-xml-bodyparser/ @noticeMaker /types/extend/ @reppners /types/extjs/ @brian428 +/types/extract-files/ @Slessi /types/extract-stack/ @BendingBender /types/extract-text-webpack-plugin/ @flying-sheep @katyo /types/extract-zip/ @mizunashi-mana /types/eyes/ @brynbellomy /types/ez-plus/ @AndersonFriaca /types/f1/ @neolwc -/types/fabric/ @oklemencic @joewashear007 @mrand01 @NotWoods @bmartinson -/types/facebook-instant-games/ @menushka +/types/fabric/ @oklemencic @joewashear007 @mrand01 @NotWoods @bmartinson @RogerioTeixeira +/types/facebook-instant-games/ @menushka @oyvindjam /types/facebook-js-sdk/ @amritk /types/facebook-pixel/ @noctishsu /types/faker/v3/ @Kuniwak @@ -1010,9 +1072,11 @@ /types/fast-stats/ @rogierschouten /types/fastclick/ @shinnn /types/favico.js/ @drowse314-dev-ymat +/types/favicons/ @mohsen1 /types/fb/ @JoshStrobl /types/fb-watchman/ @whtsky /types/fbemitter/ @kmxz +/types/feather-icons/ @jineshshah36 /types/featherlight/ @xStrom /types/feathersjs__authentication/ @AbraaoAlves @j2L4e /types/feathersjs__authentication-client/ @AbraaoAlves @j2L4e @@ -1038,6 +1102,7 @@ /types/ffi/ @loyd /types/ffmpeg-static/ @iamstevetran /types/ffprobe-static/ @iamstevetran +/types/fhir-js-client/ @rmchndrng /types/fibers/ @soywiz /types/figures/ @BendingBender /types/file-exists/ @BendingBender @@ -1047,11 +1112,13 @@ /types/filenamify/ @rokt33r /types/filesize/ @GiedriusGrabauskas @renchap /types/fill-pdf/ @westy92 +/types/filter-invalid-dom-props/ @icopp /types/finalhandler/ @chrootsu /types/finch/ @DavidSichau /types/find/ @andypyrope /types/find-root/ @Alorel /types/find-up/ @BendingBender +/types/find-versions/ @LogvinovLeon /types/findup-sync/ @Bartvds @ngbrown /types/fingerprintjs/ @zaneli /types/fingerprintjs2/ @curtstate @@ -1070,18 +1137,23 @@ /types/flight/ @jonathanhedren /types/flightplan/ @borislavjivkov /types/flipsnap/ @kubosho @gsino @mayuki +/types/float-regex/ @wanganjun /types/flot/ @burlandm @Anticom @admiralsmaster /types/flowjs/ @ryan10132 /types/fluent-ffmpeg/ @tcaesvk @DingWeizhe /types/flux/ @stkb @GiedriusGrabauskas +/types/fluxible/ @xbim +/types/fluxible-router/ @xbim /types/fluxxor/ @mrk21 /types/fm-websync/ @markusmauch /types/fnv-lite/ @marcind +/types/focus-within/ @eramdam /types/fontfaceobserver/ @RandScullard /types/fontoxml/ @rolandzwaga /types/forever-agent/ @yavanosta /types/forever-monitor/ @shuntksh @wrboyce /types/forge-di/ @adamcarr +/types/fork-ts-checker-webpack-plugin/ @JounQin /types/form-data/ @soywiz @leonyu @BendingBender /types/form-serializer/ @flqw /types/form-urlencoded/ @alepee @@ -1098,6 +1170,7 @@ /types/freedom/ @jpevarnek /types/freeport/ @atd-schubert /types/fresh/ @BendingBender +/types/freshy/ @qlonik /types/friendly-errors-webpack-plugin/ @bahlo /types/frisby/v0/ @johnny4753 /types/frisby/ @cwoodland @johnny4753 @@ -1108,7 +1181,7 @@ /types/fs-cson/ @dex4er /types/fs-ext/ @OguzhanE /types/fs-extra/v4/ @alan-agius4 @midknight41 @shiftkey @mees- -/types/fs-extra/ @alan-agius4 @midknight41 @shiftkey @mees- +/types/fs-extra/ @alan-agius4 @midknight41 @shiftkey @mees- @jrockwood /types/fs-extra-promise/ @midknight41 @jasonswearingen @HiromiShikata /types/fs-extra-promise-es6/ @midknight41 @jasonswearingen @geoffreak @HiromiShikata /types/fs-finder/ @misak113 @@ -1278,7 +1351,7 @@ /types/generic-pool/ @jerray @wrboyce /types/gently/ @bonnici /types/geodesy/ @DenisCarriere @HandyG52 @excelulous -/types/geojson/ @cobster @atd-schubert @JeffJacobson +/types/geojson/ @cobster @atd-schubert @JeffJacobson @icholy /types/geojson2osm/ @DenisCarriere /types/geokdbush/ @DenisCarriere /types/geometry-dom/ @nakakura @@ -1300,6 +1373,8 @@ /types/github-username-regex/ @BehindTheMath /types/gitlab/ @yanqing6628780 @Arylo /types/gl-matrix/ @mattijskneppers @tatchx @nbabanov @auzmartist @surtr-isaz +/types/gl-shader/ @MathiasPaumgarten +/types/gl-texture2d/ @MathiasPaumgarten /types/gldatepicker/ @qcz /types/glidejs/ @milanjaros /types/glob/ @vvakame @voy @@ -1323,7 +1398,7 @@ /types/google-cloud__storage/ @blove @nbperry /types/google-earth/ @icholy /types/google-images/ @dolanmiu -/types/google-libphonenumber/ @leonyu +/types/google-libphonenumber/ @leonyu @winfinit /types/google-map-react/ @honzabrecka /types/google-maps/ @DeividasBakanas @GiedriusGrabauskas /types/google-protobuf/ @marcuslongmuir @@ -1335,13 +1410,16 @@ /types/google.visualization/ @danludwig @gmoore-sjcorg @danmana @mlcheng @IvanBisultanov @glebm /types/googlemaps/ @cgwrench @nertzy @xaolas @mrmcnerd @martincostello @svenkreiss /types/googlemaps.infobubble/ @Dashue -/types/got/ @BendingBender @LinusU +/types/googlepay/ @Fluccioni +/types/got/ @BendingBender @LinusU @ikokostya /types/graceful-fs/v2/ @Bartvds /types/graceful-fs/ @Bartvds @BendingBender /types/graham_scan/ @hberntsen /types/graphite-udp/ @EricByers -/types/graphql/ @TonyPythoneer @calebmer @intellix @firede @kepennar @freiksenet @IvanGoncharov @DxCx @rportugal @tgriesser @dyst5422 @adnsio @divyenduz +/types/graphql/ @TonyPythoneer @calebmer @intellix @firede @kepennar @freiksenet @IvanGoncharov @DxCx @rportugal @tgriesser @dyst5422 @adnsio @divyenduz @bradzacher /types/graphql-date/ @enaeseth +/types/graphql-deduplicator/ @lfades +/types/graphql-depth-limit/ @eritikass /types/graphql-iso-date/ @jwaldrip /types/graphql-list-fields/ @filipows /types/graphql-relay/ @arvitaly @nitintutlani @Grelinfo @@ -1355,11 +1433,12 @@ /types/grecaptcha/v0/ @brentj73 /types/grecaptcha/ @DethAriel /types/gregorian-calendar/ @cwalv -/types/grid-styled/ @antonvasin +/types/grid-styled/ @antonvasin @vittorio @lhache /types/gridfs-stream/ @liorm /types/gridstack/ @PascalSenn @ZoolWay @Sl1MBoy /types/grunt/ @jeffmay @basarat /types/gsap/ @codebelt @ProbablePrime @philipbulley +/types/gtin/ @RafaelKr /types/guid/ @maroy1986 /types/gulp/ @GiedriusGrabauskas /types/gulp-angular-templatecache/ @amanmahajan7 @@ -1368,6 +1447,7 @@ /types/gulp-bump/ @silkentrance /types/gulp-cache/ @aravindarun /types/gulp-cached/ @tomc974 +/types/gulp-change/ @Aankhen /types/gulp-changed/ @tomc974 /types/gulp-cheerio/ @tkQubo /types/gulp-clean-dest/ @andypyrope @@ -1390,6 +1470,8 @@ /types/gulp-html-replace/ @peterjuras /types/gulp-htmlmin/ @tkrotoff /types/gulp-if/ @joeskeen +/types/gulp-image/ @Aankhen +/types/gulp-image-resize/ @Aankhen /types/gulp-inject/ @k-kagurazaka /types/gulp-insert/ @shantmarouti /types/gulp-install/ @peterjuras @@ -1411,6 +1493,7 @@ /types/gulp-protractor/ @tkrotoff /types/gulp-pug/ @remisery /types/gulp-remember/ @tomc974 +/types/gulp-responsive-images/ @aankhen /types/gulp-rev/ @tkrotoff /types/gulp-rev-replace/ @tkrotoff /types/gulp-ruby-sass/ @agnislav @@ -1419,6 +1502,7 @@ /types/gulp-sort/ @joeskeen /types/gulp-strip-debug/ @peterjuras /types/gulp-svg-sprite/ @tkqubo +/types/gulp-svgmin/ @Aankhen /types/gulp-task-listing/ @joeskeen /types/gulp-tsd/ @k-kagurazaka /types/gulp-uglify/ @ChristopherHaws @leonard-thieu @@ -1433,12 +1517,12 @@ /types/halfred/ @dherges /types/halogen/ @steller /types/hammerjs/ @milkisevil @codler -/types/handlebars/ @borisyankov +/types/handlebars/ @borisyankov @evil-shrike /types/hapi/v8/ @jasonswearingen /types/hapi/v12/ @jasonswearingen /types/hapi/v15/ @jasonswearingen /types/hapi/v16/ @jasonswearingen @AJamesPhillips -/types/hapi/ @BorntraegerMarc @rafaelsouzaf @jhsimms +/types/hapi/ @BorntraegerMarc @rafaelsouzaf @jhsimms @SimonSchick /types/hapi-auth-basic/ @AJamesPhillips @saboya /types/hapi-auth-jwt2/v7/ @warrenseymour /types/hapi-auth-jwt2/ @warrenseymour @SimonSchick @@ -1455,7 +1539,8 @@ /types/hashmap/ @outring /types/haversine/ @screendriver /types/hbs/ @davidm77 -/types/he/ @sedwards2009 +/types/hdkey/ @LogvinovLeon +/types/he/ @sedwards2009 @lokidokicoki /types/headroom/ @hakubo /types/heap/ @ryan10132 /types/heapdump/ @weekens @@ -1465,7 +1550,7 @@ /types/hellosign-embedded/ @xt0rted /types/helmet/ @cyrilschumacher @EvanHahn @bluehatbrit /types/heredatalens/ @denyo -/types/heremaps/ @Josh-ES @denyo +/types/heremaps/ @Josh-ES @denyo @fx88 /types/heroku-logger/ @kylevogt /types/hex-rgba/ @r3nya /types/hexo-bunyan/ @segayuu @@ -1480,6 +1565,7 @@ /types/history/v3/ @sergey-buturlakin @ngbrown @LKay /types/history/ @sergey-buturlakin @ngbrown @rokoroku /types/history.js/ @borisyankov @gjunge +/types/historykana/ @h-shiratsuki /types/hjson/ @crunchie84 /types/hls.js/ @jgainfort /types/hoek/ @prashaantt @@ -1492,11 +1578,12 @@ /types/html-minifier/v1/ @tkrotoff /types/html-minifier/ @tkrotoff @rikuayanokozy /types/html-pdf/ @westy92 +/types/html-tag-names/ @sandersn /types/html-to-text/ @erykwarren /types/html-void-elements/ @rhysd /types/html-webpack-plugin/ @deevus @bumbleblym @tlaziuk /types/html-webpack-template/ @bumbleblym -/types/html2canvas/ @rwhepburn @tan9 +/types/html2canvas/ @rwhepburn @tan9 @sschocke /types/htmlbars-inline-precompile/ @chriskrycho /types/htmlparser2/ @staticfunction @LinusU /types/htmltojsx/ @basarat @@ -1505,14 +1592,14 @@ /types/http-codes/ @mhegazy /types/http-context/ @mtraynham /types/http-errors/ @tkrotoff @BendingBender -/types/http-proxy/ @SomaticIT @Raigen +/types/http-proxy/ @SomaticIT @Raigen @DanielMSchmidt /types/http-proxy-agent/ @mrmlnc /types/http-proxy-middleware/ @zebMcCorkle @BendingBender /types/http-server/ @plantain-00 /types/http-status/ @misak113 /types/http-string-parser/ @pine613 /types/httperr/ @yortus -/types/hubot/ @dirk +/types/hubot/ @dirk @KeesCBakker /types/hubspot-pace/ @borislavjivkov /types/humane/ @jmvrbanac /types/humanize-plus/ @DenisCarriere @@ -1540,7 +1627,11 @@ /types/icepick/ @ngbrown @tobico /types/icheck/ @qcz /types/iconv/ @delphinus35 -/types/ids/ @3fd +/types/idyll/ @iocat +/types/idyll-ast/ @iocat +/types/idyll-compiler/ @iocat +/types/idyll-document/ @iocat +/types/iferr/ @segayuu /types/iframe-resizer/ @arminbaljic /types/ignite-ui/ @IgniteUI /types/ignore-styles/ @tai2 @@ -1555,6 +1646,7 @@ /types/imap-simple/ @pushplay /types/imgur-rest-api/ @lukewestby /types/impress/ @borisyankov +/types/in-app-purchase/ @l-jonas /types/in-range/ @DanielRosenwasser /types/incremental-dom/ @basarat @lanthaler @vvakame /types/indent-string/ @mhegazy @@ -1572,7 +1664,8 @@ /types/insight/ @vvakame /types/integer/ @Morfent /types/interact.js/ @dduugg @adidahiya @thasner -/types/intercom-web/ @fongandrew @salbahra +/types/intercom-client/ @jineshshah36 +/types/intercom-web/ @fongandrew @salbahra @onatm /types/intercomjs/ @spencerwi /types/internal-ip/ @BendingBender /types/intl/ @RagibHasin @@ -1597,6 +1690,7 @@ /types/is-archive/ @mhegazy /types/is-array/ @pine /types/is-binary-path/ @DanielRosenwasser +/types/is-ci/ @atd-schubert /types/is-color/ @VitorLuizC /types/is-compressed/ @mhegazy /types/is-empty/ @termosa @@ -1604,6 +1698,7 @@ /types/is-glob/ @mrmlnc /types/is-hotkey/ @petester42 /types/is-ip/ @coderslagoon +/types/is-mobile/ @LogvinovLeon /types/is-my-json-valid/ @kruncher /types/is-negated-glob/ @ajafff /types/is-number/ @harryshipton @@ -1622,7 +1717,7 @@ /types/is-url-superb/ @kryops /types/is-windows/ @mizunashi-mana /types/isbn-utils/ @elhaard -/types/iscroll/ @csrakowski +/types/iscroll/ @csrakowski @devlato /types/ismobilejs/ @Ty3uK /types/iso-3166-2/ @sicilica /types/iso8601-localizer/ @avielfedida @@ -1667,8 +1762,10 @@ /types/jdenticon/ @mtr /types/jest/v16/ @NoHomey @jwbay /types/jest/ @NoHomey @jwbay @asvetliakov @alexjoverm @epicallan @ikatyang @wsmd @JamieMason @douglasduteil @AhnpGit @joshuakgoldberg @bradleyayers +/types/jest-axe/ @JoshuaKGoldberg /types/jest-diff/ @myabc /types/jest-docblock/ @ikatyang +/types/jest-each/ @theutz /types/jest-environment-puppeteer/ @joshuakgoldberg /types/jest-get-type/ @myabc /types/jest-image-snapshot/ @dawnmist @@ -1684,11 +1781,12 @@ /types/jmespath/ @pushplay /types/johnny-five/ @nakakura @ujvzolee @workshop2 /types/joi/v6/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW -/types/joi/v10/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku -/types/joi/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku @dankraus @wanganjun @rafaelkallis +/types/joi/v10/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku @aconanlai +/types/joi/ @Bartvds @laurence-myers @cglantschnig @DavidBR-SW @GaelMagnan @ralekna @schfkt @rokoroku @dankraus @wanganjun @rafaelkallis @aconanlai /types/joigoose/ @boothwhack /types/josa/ @vichyssoise /types/jpeg-js/ @DanielRosenwasser +/types/jpegtran-bin/ @hikoma /types/jpm/ @github-account-because-they-want-it /types/jqgrid/ @lokeshpeta /types/jqrangeslider/ @qcz @@ -1706,6 +1804,8 @@ /types/jquery-drawer/ @pine /types/jquery-easy-loading/ @delphinus35 /types/jquery-editable-select/ @baywet +/types/jquery-focus-exit/ @AndersonFriaca +/types/jquery-focusable/ @AndersonFriaca /types/jquery-fullscreen/ @bgrieder /types/jquery-galleria/ @rimig /types/jquery-handsontable/ @intelorca @@ -1713,13 +1813,16 @@ /types/jquery-jsonrpcclient/ @Ty3uK /types/jquery-knob/ @iain8 /types/jquery-lazyload/ @AndersonFriaca +/types/jquery-loading-overlay/ @AndersonFriaca /types/jquery-mask-plugin/ @avidenic @AndersonFriaca /types/jquery-maskmoney/ @AndersonFriaca /types/jquery-match-height/ @kbytesys /types/jquery-mockjax/ @laszlojakab @vladeck /types/jquery-mousewheel/ @xt0rted +/types/jquery-next-id/ @AndersonFriaca /types/jquery-notifier/ @allipierre /types/jquery-param/ @patsissons +/types/jquery-slugify/ @AndersonFriaca /types/jquery-sortable/ @Seltzer /types/jquery-steps/ @jblank @nickwph /types/jquery-sticky/ @maixiu @@ -1810,6 +1913,7 @@ /types/js-git/ @Bartvds /types/js-md5/ @mwmccarthy /types/js-money/ @kanatkubash +/types/js-nacl/ @ethanfrey /types/js-quantities/ @wrummler /types/js-schema/ @marcinporebski @roblabat /types/js-search/ @guoyunhe @@ -1828,7 +1932,7 @@ /types/jsend/ @CaselIT /types/jsesc/ @Bartvds /types/jsfl/ @soywiz -/types/jsforce/ @dolanmiu @netes +/types/jsforce/ @dolanmiu @netes @amphro @tnoonan-salesforce /types/jshamcrest/ @dharkness /types/jsmockito/ @shiver-me-timbers /types/jsnox/ @stkb @DovydasNavickas @@ -1845,11 +1949,13 @@ /types/json-stringify-safe/ @BendingBender /types/json2csv/ @juanjoDiaz /types/json2md/ @MartynasZilinskas +/types/json3/ @NN--- /types/jsonata/ @nick121212 /types/jsoneditor/ @alejo90 /types/jsoneditor-for-react/ @joshuakgoldberg /types/jsoneditoronline/ @vbortone /types/jsonfile/ @dbowring +/types/jsonic/ @jacobbubu /types/jsonminify/ @no23reason /types/jsonnet/ @hookclaw /types/jsonp/ @surenkov @@ -1857,8 +1963,8 @@ /types/jsonrpc-serializer/ @Akim95 @many20 /types/jsonstream/ @Bartvds /types/jsontoxml/ @benstevens48 -/types/jsonwebtoken/ @SomaticIT @danielheim @brikou -/types/jsonwebtoken-promisified @aneilbaboo +/types/jsonwebtoken/ @SomaticIT @danielheim @brikou @vpk +/types/jsonwebtoken-promisified/ @SomaticIT @danielheim @brikou @aneilbaboo /types/jspdf/ @amberjs /types/jsqrcode/ @lordazzi /types/jsrender/ @zakki @@ -1883,8 +1989,9 @@ /types/jui/ @easylogic /types/jui-core/ @easylogic /types/jui-grid/ @easylogic +/types/just-extend/ @pe8ter /types/jweixin/ @taoqf @gomydodo -/types/jwplayer/ @martinduparc @kutomer @philippguertler @danielmcgraw +/types/jwplayer/ @martinduparc @kutomer @philippguertler @danielmcgraw @bpdsw /types/jws/ @JustinBeckwith /types/jwt-client/ @timoteoponce /types/jwt-decode/v1/ @QuatroDevOfficial @@ -1965,6 +2072,7 @@ /types/koa-pug/ @Xstoudi /types/koa-range/ @strax /types/koa-redis/ @nsimmons +/types/koa-response-time/ @thorsedeke /types/koa-route/ @migstopheles /types/koa-router/ @hellopao @schfkt /types/koa-send/ @pe8ter @tlaziuk @@ -1975,6 +2083,7 @@ /types/koa-views/ @brooklyndev /types/koa-webpack/ @malj /types/koa-websocket/ @me +/types/koa-xml-body/ @uwinkelvos /types/koa2-cors/ @xialeistudio /types/koa__cors/ @Xstoudi @izayoiko @stevehipwell /types/kolite/ @borisyankov @@ -1982,7 +2091,7 @@ /types/kraken-js/ @darkwebdev /types/kramed/ @tonicblue /types/kss/ @giladgray -/types/kue/ @drudge @amiram @pc-jedi +/types/kue/ @drudge @amiram @pc-jedi @deerawan /types/kurento-utils/ @nenadalm @riggs /types/kuromoji/ @mzsm @kgtkr /types/lab/ @prashaantt @@ -1992,25 +2101,27 @@ /types/latinize/ @GiedriusGrabauskas /types/latlon-geohash/ @rimig /types/launchpad/ @rictic +/types/lazy-value/ @ikatyang /types/lazy.js/ @Bartvds /types/lazypipe/ @tomc974 /types/ldapjs/ @cvillemure @peterkooijmans /types/leadfoot/ @theintern /types/leaflet/v0/ @rgripper -/types/leaflet/ @alejo90 @atd-schubert +/types/leaflet/ @alejo90 @atd-schubert @mcauer /types/leaflet-areaselect/ @awallat /types/leaflet-curve/ @onikiienko -/types/leaflet-draw/ @matt-guest @reblace @YunS-Stacy +/types/leaflet-draw/ @matt-guest @reblace @YunS-Stacy @beschoenen /types/leaflet-editable/ @dalie /types/leaflet-fullscreen/ @DenisCarriere /types/leaflet-geocoder-mapzen/ @leezu -/types/leaflet-gpx/ @soucekv +/types/leaflet-gpx/ @soucekv @molnarm /types/leaflet-imageoverlay-rotated/ @tkleinke /types/leaflet-label/ @Nemo157 /types/leaflet-mouse-position/ @Hanyon /types/leaflet-polylinedecorator/ @soucekv /types/leaflet-providers/ @BendingBender /types/leaflet-rotatedmarker/ @robert-prib-polestar +/types/leaflet-routing-machine/ @chanakadrathnayaka /types/leaflet.awesome-markers/v0/ @Odrin @sebek64 /types/leaflet.awesome-markers/ @sebek64 /types/leaflet.fullscreen/ @wcomartin @@ -2024,6 +2135,7 @@ /types/leaflet.polylinemeasure/ @RiON69 /types/leapmotionts/ @logotype /types/legal-eagle/ @j-f1 +/types/lerna-get-packages/ @LogvinovLeon /types/less/ @thasner @pranaygp /types/less-middleware/ @federicobond /types/less2sass/ @gatimus @@ -2047,6 +2159,7 @@ /types/load-json-file/ @SamVerschueren /types/loader-runner/ @e-cloud /types/loader-utils/ @Perlmint @TotooriaHyperion +/types/loadjs/ @screendriver /types/loadware/ @ALyman /types/lobibox/ @itboy87 /types/local-dynamo/ @Sicilica @@ -2356,7 +2469,7 @@ /types/lokijs/ @TeamworkGuy2 @thomasconner /types/lolex/ @Nemo157 @joshuakgoldberg @rogierschouten /types/long/ @peterkooijmans -/types/loopback/ @kattsushi @enko @sequoia @drmikecrowe +/types/loopback/ @kattsushi @enko @sequoia @drmikecrowe @karimsa /types/loopback-boot/ @kattsushi /types/lorem-ipsum/ @durad /types/lory.js/ @kubosho @milkisevil @@ -2390,6 +2503,8 @@ /types/map-obj/ @BendingBender /types/mapbox/ @anahkiasen /types/mapbox-gl/ @dobrud @patrickr +/types/mapbox-gl-leaflet/ @agorshkov23 +/types/mapbox__geojson-area/ @n0nick /types/mapbox__shelf-pack/ @Perlmint /types/mapnik/ @ipv4sec /types/mapsjs/ @davismj @@ -2408,35 +2523,41 @@ /types/massive/v3/ @swissspidy @clarenceh /types/massive/ @swissspidy @clarenceh @AmazingTurtle /types/match-media-mock/ @asvetliakov -/types/material-components-web/ @BrentDouglas +/types/material-components-web/ @BrentDouglas @ckosti /types/material-design-lite/ @bradzacher -/types/material-ui/ @ngbrown @theigor @alitaheri @herrmanno @DaIgeb @allienna @schlesingermatthias @InsidersByte @artyomsv @dan-j @minodisk +/types/material-ui/ @ngbrown @theigor @alitaheri @herrmanno @DaIgeb @allienna @schlesingermatthias @InsidersByte @artyomsv @dan-j @minodisk @samwalshnz /types/material-ui-datatables/ @coding2012 -/types/material__animation/ @BrentDouglas -/types/material__auto-init/ @BrentDouglas -/types/material__base/ @BrentDouglas -/types/material__checkbox/ @BrentDouglas -/types/material__dialog/ @BrentDouglas -/types/material__drawer/ @BrentDouglas -/types/material__form-field/ @BrentDouglas -/types/material__grid-list/ @BrentDouglas -/types/material__icon-toggle/ @BrentDouglas -/types/material__linear-progress/ @BrentDouglas -/types/material__menu/ @BrentDouglas -/types/material__radio/ @BrentDouglas -/types/material__ripple/ @BrentDouglas -/types/material__select/ @BrentDouglas -/types/material__selection-control/ @BrentDouglas -/types/material__slider/ @BrentDouglas -/types/material__snackbar/ @BrentDouglas -/types/material__tabs/ @BrentDouglas -/types/material__textfield/ @BrentDouglas -/types/material__toolbar/ @BrentDouglas +/types/material__animation/ @BrentDouglas @ckosti +/types/material__auto-init/ @BrentDouglas @ckosti +/types/material__base/ @BrentDouglas @ckosti +/types/material__checkbox/ @BrentDouglas @ckosti +/types/material__chips/ @BrentDouglas @ckosti +/types/material__dialog/ @BrentDouglas @ckosti +/types/material__drawer/ @BrentDouglas @ckosti +/types/material__floating-label/ @BrentDouglas @ckosti +/types/material__form-field/ @BrentDouglas @ckosti +/types/material__grid-list/ @BrentDouglas @ckosti +/types/material__icon-toggle/ @BrentDouglas @ckosti +/types/material__line-ripple/ @BrentDouglas @ckosti +/types/material__linear-progress/ @BrentDouglas @ckosti +/types/material__menu/ @BrentDouglas @ckosti +/types/material__notched-outline/ @BrentDouglas @ckosti +/types/material__radio/ @BrentDouglas @ckosti +/types/material__ripple/ @BrentDouglas @ckosti +/types/material__select/ @BrentDouglas @ckosti +/types/material__selection-control/ @BrentDouglas @ckosti +/types/material__slider/ @BrentDouglas @ckosti +/types/material__snackbar/ @BrentDouglas @ckosti +/types/material__tab/ @BrentDouglas @ckosti +/types/material__tabs/ @BrentDouglas @ckosti +/types/material__textfield/ @BrentDouglas @ckosti +/types/material__toolbar/ @BrentDouglas @ckosti +/types/material__top-app-bar/ @BrentDouglas @ckosti /types/materialize-css/v0/ @eriklieben @leonyu @SinghSukhdeep @jfcere @scote @LiadIdan -/types/materialize-css/ @huww98 +/types/materialize-css/ @huww98 @MaximBalaganskiy @MonizDave @broccoliarchy /types/math3d/ @laszlojakab @jimsmart /types/mathjax/ @rolandzwaga -/types/mathjs/ @siavol +/types/mathjs/ @siavol @andnp /types/matter-js/ @piranha771 @hasparus /types/maxmind/ @geoffreak /types/mcustomscrollbar/ @flurg @@ -2444,10 +2565,12 @@ /types/mdns/ @reppners /types/mdurl/ @rokt33r /types/media-typer/ @BendingBender -/types/medium-editor/ @keika299 +/types/medium-editor/ @keika299 @pascaliske /types/mem/ @SamVerschueren /types/mem-fs/ @MyFoodBag +/types/mem-fs-editor/ @MyFoodBag /types/memcached/ @KentarouTakeda +/types/memoize-one/ @karol-majewski /types/memoizee/ @juanpicado /types/memory-cache/ @jedigo @thieman /types/memory-fs/ @e-cloud @@ -2461,7 +2584,7 @@ /types/meshblu/ @fnipo /types/mess/ @Nemo157 /types/messenger/ @derekcicerone -/types/meteor/ @barbatus @fullflavedave @orefalo @dagatsoin @birkskyum @ardatan @stefanholzapfel +/types/meteor/ @barbatus @fullflavedave @orefalo @dagatsoin @birkskyum @ardatan @stefanholzapfel @andrei-markeev /types/meteor-accounts-phone/ @DAB0mB /types/meteor-collection-hooks/ @twastvedt /types/meteor-jboulhous-dev/ @vangorra @@ -2469,6 +2592,7 @@ /types/meteor-prime8consulting-oauth2/ @vangorra /types/meteor-publish-composite/ @vangorra /types/meteor-roles/ @vangorra @mattmm3d +/types/meteor-univserse-i18n/ @mathewmeconry /types/method-override/ @santialbo /types/methods/ @cprecioso /types/metric-suffix/ @davidm77 @@ -2500,9 +2624,12 @@ /types/mitm/ @alejo90 /types/mixpanel/ @hjellek @Manduro /types/mixto/ @vvakame +/types/mjml/ @aahoughton /types/mkdirp/ @Bartvds @mrmlnc +/types/mkdirp-promise/ @pluma /types/mkpath/ @optical /types/mobx-apollo/ @pselden +/types/mobx-devtools-mst/ @pluma /types/mocha/ @kazimanzurrashid @otiai10 @jt000 @enlight @cspotcode /types/mocha-each/ @magnostherobot /types/mocha-phantomjs/ @ErikSchierboom @@ -2517,6 +2644,7 @@ /types/mockery/ @jt000 /types/modernizr/ @borisyankov @theodorejb @leonyu @lucax88x @nhardy /types/modesl/ @neeschit +/types/module-alias/ @KevinRamharak /types/moji/ @yasupeke /types/moment-business/ @wonbyte /types/moment-business-time/ @swist @@ -2529,7 +2657,7 @@ /types/moment-timezone/ @michelsalib @alanblins /types/mongo-sanitize/ @CedricCazin /types/mongodb/v2/ @CaselIT @alanmarcell @kikar @bitjson @dante-101 @mcortesi -/types/mongodb/ @CaselIT @alanmarcell @kikar @bitjson @dante-101 @mcortesi @EnricoPicci @AJCStriker @julien-c +/types/mongodb/ @CaselIT @alanmarcell @kikar @bitjson @dante-101 @mcortesi @EnricoPicci @AJCStriker @julien-c @daprahamian /types/mongoose/v4/ @simonxca @horiuchi @sindrenm @lukasz-zak /types/mongoose/ @horiuchi @sindrenm @lukasz-zak @Alorel @jendrikw @ethanresnick @vologab /types/mongoose-auto-increment/ @AyaMorisawa @@ -2546,12 +2674,14 @@ /types/moo/ @deltaidea @MofX /types/moonjs/ @DanielRosenwasser /types/morgan/ @staticfunction @pscanf +/types/morphdom/ @arvitaly /types/morris.js/ @mareek @sindilevich /types/mousetrap/ @qcz /types/move-concurrently/ @mgroenhoff /types/moviedb/ @basarat @0x6368656174 /types/moxios/ @itoasuka /types/mozilla-readability/ @charlesvdv +/types/mozjpeg/ @hikoma /types/mpromise/ @sgkim126 /types/mri/ @shiftkey @j-f1 /types/ms/ @danny8002 @@ -2565,13 +2695,15 @@ /types/multer/ @jt000 @DavidBR-SW @mxl @hyunseob /types/multer-gridfs-storage/v1/ @devconcept /types/multer-gridfs-storage/ @devconcept -/types/multer-s3/ @tcaesvk @galtalmor +/types/multer-s3/ @tcaesvk @galtalmor @terski /types/multi-typeof/ @mhegazy /types/multimatch/ @stephenlautier /types/multiparty/ @kenfdev /types/multiplexjs/ @KamyarNazeri /types/multisort/ @CzBuCHi /types/multistream/ @mrmlnc @kenzierocks +/types/muri/ @jloveridge +/types/murmurhash/ @atd-schubert /types/murmurhash-js/ @cvle /types/murmurhash3js/ @dlee-nvisia /types/musicmetadata/ @Xstoudi @@ -2590,7 +2722,7 @@ /types/nats-hemera/ @vforv /types/natsort/ @mgroenhoff /types/natural/ @dmoonfire -/types/natural-sort/ @a-morales +/types/natural-sort/ @a-morales @fluggo /types/navermaps/ @ckboyjiy /types/navigation/ @grahammendick /types/navigation-react/ @grahammendick @@ -2610,6 +2742,7 @@ /types/nes/ @NoHomey @saboya /types/net-keepalive/ @hertzg /types/netmask/ @mhfrantz +/types/network-interfaces/ @anderswestberg /types/new-relic-browser/ @renehamburger @piotrkubisa /types/newline-remove/ @OpenByteDev /types/newrelic/ @mastermatt @@ -2626,6 +2759,7 @@ /types/ng-i18next/ @cyrilschumacher /types/ng-notify/ @nzamosenchuk /types/ng-stomp/ @lpotapczuk +/types/ng-tags-input/ @GiorgosPap /types/ngbootbox/ @stpettersens /types/ngeohash/ @erkie /types/ngkookies/ @martinmcwhorter @@ -2633,6 +2767,7 @@ /types/ngprogress/ @martinmcwhorter /types/ngprogress-lite/ @LukeForder /types/ngreact/ @velveret +/types/ngsijs/ @guillermofr /types/ngstorage/ @kubiq /types/ngtoaster/ @btesser /types/ngwysiwyg/ @patrick-mackay @@ -2643,21 +2778,21 @@ /types/nock/ @bonnici @horiuchi @afharo @mastermatt @damour /types/nodal/ @charrondev /types/node/v4/ @eps1lon -/types/node/v6/ @WilcoBakker @inlined @eps1lon @Alorel -/types/node/v7/ @parambirs @tellnes @WilcoBakker @eps1lon -/types/node/v8/ @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @OliverJAsh @eps1lon @Hannes-Magnusson-CK @jkomyno @hoo29 @n-e -/types/node/ @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @OliverJAsh @eps1lon @Hannes-Magnusson-CK @jkomyno @ajafff @hoo29 @n-e +/types/node/v6/ @WilcoBakker @inlined @eps1lon @Alorel @KSXGitHub +/types/node/v7/ @parambirs @tellnes @WilcoBakker @eps1lon @KSXGitHub +/types/node/v8/ @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @hoo29 @n-e @brunoscheufler @KSXGitHub @islishude +/types/node/v9/ @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @ajafff @hoo29 @n-e @brunoscheufler @mohsen1 @KSXGitHub @a-tarasyuk @islishude +/types/node/ @parambirs @tellnes @WilcoBakker @octo-sniffle @smac89 @Flarna @mwiktorczyk @wwwy3y3 @DeividasBakanas @kjin @alvis @eps1lon @Hannes-Magnusson-CK @jkomyno @ajafff @hoo29 @n-e @brunoscheufler @mohsen1 @KSXGitHub @a-tarasyuk @islishude /types/node-7z/ @erkie /types/node-array-ext/ @Beng89 /types/node-cache/ @chrootsu @dthunell @useltmann /types/node-calendar/ @luzianz /types/node-cleanup/ @agadar -/types/node-common-errors/ @icopp /types/node-cron/ @maximelkin /types/node-dir/ @panuhorsmalahti /types/node-dogstatsd/ @chrisbobo /types/node-emoji/ @jonestristand @styu -/types/node-fetch/ @torstenwerner +/types/node-fetch/ @torstenwerner @nikcorg /types/node-fibers/ @caryhaynie /types/node-forge/ @westy92 @flynetworks @a-k-g @rafal2228 /types/node-gcm/ @horiuchi @@ -2676,7 +2811,7 @@ /types/node-powershell/ @rodrigoff /types/node-pushnotifications/ @menushka /types/node-ral/ @ssddi456 -/types/node-red/ @andersea +/types/node-red/ @andersea @tbowmo /types/node-rsa/ @alitaheri @xm /types/node-schedule/ @cyrilschumacher @flowpl /types/node-slack/ @tkQubo @@ -2684,7 +2819,7 @@ /types/node-sprite-generator/ @Perlmint /types/node-static/ @Morfent /types/node-statsd/ @alexturek @convoyinc -/types/node-telegram-bot-api/ @ammuench @agadar @Dabolus +/types/node-telegram-bot-api/ @ammuench @agadar @Dabolus @Kallu609 /types/node-uuid/ @jeffmay /types/node-validator/ @kengorab /types/node-vault/ @YuJianrong @@ -2712,7 +2847,7 @@ /types/normalize-url/ @odin3 @BendingBender /types/notie/ @mateusdemboski /types/notify/ @hellochar -/types/notifyjs/ @soundTricker +/types/notifyjs/ @soundTricker @NateScarlet /types/notifyjs-browser/ @bahman616 /types/notyf/ @gurov /types/nouislider/v7/ @acoreyj @@ -2722,6 +2857,7 @@ /types/npm/ @SomaticIT /types/npm-package-arg/ @mgroenhoff /types/npm-packlist/ @ajafff +/types/npmlog/ @DanielMSchmidt /types/ns-api/ @Archcry /types/nslog/ @unindented /types/nsqjs/ @cezaryrk @@ -2735,6 +2871,7 @@ /types/nw.gui/ @xperiments /types/nw.js/ @alirdn /types/o.js/ @IceOnFire @bradzacher @janhommes @jcchalte +/types/oauth/ @nonAlgebraic /types/oauth.js/ @nobuoka /types/oauth2-server/ @vangorra @cirick /types/oauth2orize/ @wokim @heycalmdown @stevehipwell @@ -2757,6 +2894,7 @@ /types/offline-js/ @cgwrench /types/oibackoff/ @geoffreak /types/oidc-token-manager/ @rosieks +/types/okta__okta-vue/ @innovation-team /types/ol/ @yairtawil /types/on-finished/ @czechboy0 @BendingBender /types/on-headers/ @jjeffery @BendingBender @@ -2772,7 +2910,7 @@ /types/openjscad/ @danmarshall /types/openlayers/v2/ @bolhovsky /types/openlayers/v3/ @osechet @matthiasdailey-ccri -/types/openlayers/ @osechet @wb14123 @ailrun @mylen @iamthechad @danmana @yairtawil @pierremarc +/types/openlayers/ @osechet @wb14123 @ailrun @mylen @iamthechad @danmana @yairtawil @pierremarc @hauke96 /types/openstack-wrapper/ @sanjaymadane /types/opentok/ @westy92 @CatGuardian /types/opentype.js/ @danmarshall @edzis @@ -2814,6 +2952,7 @@ /types/p-log/ @BendingBender /types/p-map/ @BendingBender /types/p-map-series/ @BendingBender +/types/p-memoize/ @forabi /types/p-one/ @BendingBender /types/p-props/ @BendingBender /types/p-queue/ @BendingBender @evanshortiss @@ -2845,7 +2984,7 @@ /types/parity-pmr/ @leovujanic /types/parity-poe/ @leovujanic /types/parse/ @dpoetzsch @jaeggerr @flavionegrao @wesleygrimes @owsas -/types/parse-git-config/ @leonard-thieu +/types/parse-git-config/ @leonard-thieu @deltaidea /types/parse-glob/ @glen-84 /types/parse-json/ @mrmlnc /types/parse-link-header/ @zelein @@ -2873,8 +3012,9 @@ /types/passport-local/ @SomaticIT /types/passport-local-mongoose/ @linusbrolin /types/passport-naver/ @Park9eon -/types/passport-oauth2/ @pasieronen +/types/passport-oauth2/ @pasieronen @WangZishi /types/passport-oauth2-client-password/ @akaNightmare +/types/passport-remember-me-extended/ @AylaJK /types/passport-saml/ @cjbarth /types/passport-steam/ @kzay /types/passport-strategy/ @liorm @@ -2896,6 +3036,7 @@ /types/pbf/ @cschwarz /types/pdfjs-dist/ @jbaldwin /types/pdfkit/ @erichillah +/types/pdfmake/ @m1llen1um @radziksh /types/pdfobject/ @nielsboogaard /types/pebblekitjs/ @makotokw /types/peer-dial/ @RealTYPICAL @@ -2908,6 +3049,7 @@ /types/pg/ @pspeter3 /types/pg-ears/ @bradleyayers /types/pg-escape/ @khell +/types/pg-format/ @zopf /types/pg-pool/ @aleung /types/pg-query-stream/ @asmarques /types/pg-types/ @waratuman @@ -2930,13 +3072,13 @@ /types/pickadate/ @theodorejb @leonard-thieu /types/picturefill/ @alaz /types/pidusage/ @cyrilschumacher -/types/pify/ @samverschueren @mad-mike +/types/pify/ @samverschueren @mad-mike @c7hm4r /types/pigpio/ @manerfan /types/pikaday/ @MidnightDesign @wake42 /types/pikaday-time/ @Sayan751 /types/pinkyswear/ @chances /types/pino/v3/ @psnider -/types/pino/ @psnider @BendingBender +/types/pino/ @psnider @BendingBender @screendriver /types/pino-multi-stream/ @JakeGinnivan /types/pinterest-sdk/ @adamburmister /types/pinyin/ @wanganjun @@ -2949,13 +3091,14 @@ /types/playerframework/ @ricardosabino /types/playmusic/ @nickp10 /types/pleasejs/ @nakakura -/types/plotly.js/ @chrisgervang @martinduparc @frederikaalund @taoqf @Dadstart @szechyjs +/types/plotly.js/ @chrisgervang @martinduparc @frederikaalund @taoqf @Dadstart @szechyjs @MercifulCode @soorajpudiyadath /types/plugapi/ @BNedry /types/plugin-error/ @rogierschouten /types/plupload/ @patrickbussmann /types/pluralize/ @ukyo /types/png-async/ @kanreisa /types/pngjs/ @jason0x43 +/types/pngquant-bin/ @hikoma /types/podcast/ @nikeee /types/podium/ @AJamesPhillips /types/point-in-polygon/ @dyst5422 @kogai @@ -2979,15 +3122,16 @@ /types/pouchdb-adapter-node-websql/ @spaulg @geppy @fredgalvao /types/pouchdb-adapter-websql/ @spaulg @geppy @fredgalvao /types/pouchdb-browser/ @spaulg @geppy @fredgalvao -/types/pouchdb-core/ @spaulg @trubit @geppy @fredgalvao @TobiasBales +/types/pouchdb-core/ @spaulg @trubit @geppy @fredgalvao @TobiasBales @tiangolo /types/pouchdb-find/ @trubit /types/pouchdb-http/ @spaulg @geppy @fredgalvao /types/pouchdb-mapreduce/ @spaulg @geppy @fredgalvao /types/pouchdb-node/ @spaulg @geppy @fredgalvao -/types/pouchdb-replication/ @trubit +/types/pouchdb-replication/ @trubit @tiangolo /types/pouchdb-upsert/ @keithdmoore @hotforfeature @apolkingg8 /types/power-assert/ @vvakame /types/power-assert-formatter/ @vvakame +/types/powerbi-visuals-tools/ @zBritva @Microsoft /types/precise/ @codeanimal /types/precond/ @olsio /types/preloadjs/ @endel @@ -3015,6 +3159,7 @@ /types/promise-pool/ @vilic /types/promise-queue/ @LachlanStuart /types/promise-retry/ @shirakaba +/types/promise-timeout/ @Aankhen /types/promise.prototype.finally/ @slavik57 @BendingBender /types/promised-temp/ @rokadias /types/promisify-node/ @borekb @@ -3023,28 +3168,34 @@ /types/prompt-sync-history/ @MugeSo /types/promptly/ @danrspencer /types/prop-types/ @DovydasNavickas +/types/proper-lockfile/ @qlonik /types/properties-reader/ @Goldsmith42 -/types/prosemirror-collab/ @bradleyayers @davidka @timjb -/types/prosemirror-commands/ @bradleyayers @davidka @timjb -/types/prosemirror-gapcursor/ @bradleyayers @davidka @timjb -/types/prosemirror-history/ @bradleyayers @davidka @timjb -/types/prosemirror-inputrules/ @bradleyayers @davidka @timjb -/types/prosemirror-keymap/ @bradleyayers @davidka @timjb -/types/prosemirror-markdown/ @bradleyayers @davidka @timjb -/types/prosemirror-menu/ @bradleyayers @davidka @timjb -/types/prosemirror-model/ @bradleyayers @davidka @timjb @neknalb -/types/prosemirror-schema-basic/ @bradleyayers @davidka @timjb -/types/prosemirror-schema-list/ @bradleyayers @davidka @timjb -/types/prosemirror-state/ @bradleyayers @davidka @timjb -/types/prosemirror-tables/ @superchu @eshvedai -/types/prosemirror-transform/ @bradleyayers @davidka @timjb -/types/prosemirror-view/ @bradleyayers @davidka @timjb +/types/prosemirror-collab/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-commands/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-gapcursor/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-history/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-inputrules/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-keymap/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-markdown/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-menu/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-model/ @bradleyayers @davidka @timjb @neknalb @patsimm +/types/prosemirror-schema-basic/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-schema-list/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-state/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-tables/ @superchu @eshvedai @patsimm +/types/prosemirror-transform/ @bradleyayers @davidka @timjb @patsimm +/types/prosemirror-view/ @bradleyayers @davidka @timjb @patsimm +/types/proton-native/ @khanhas /types/protractor-browser-logs/ @rokadias /types/protractor-helpers/ @johncant /types/protractor-http-mock/ @Crevil /types/provinces/ @gatimus /types/proxy-addr/ @BendingBender +/types/proxy-lists/ @BehindTheMath +/types/proxy-verifier/ @BehindTheMath /types/proxyquire/ @jt000 +/types/ps-tree/ @alessiopcc +/types/ptomasroos__react-native-multi-slider/ @Slessi /types/pty.js/ @enlight /types/public-ip/ @BendingBender /types/pubnub/ @bitbankinc @rollymaduk @vitosamson @@ -3052,6 +3203,7 @@ /types/pug/ @TonyPythoneer @19majkel94 /types/pulltorefreshjs/ @DanielRosenwasser @humpedli /types/pump/ @tlaziuk +/types/pumpify/ @JustinBeckwith @aoberoi /types/pupa/ @nju33 /types/puppeteer/v0/ @marvinhagemeister @cdeutsch /types/puppeteer/ @marvinhagemeister @cdeutsch @jwbay @@ -3078,13 +3230,14 @@ /types/quixote/ @greybax /types/qunit/v1/ @diullei /types/qunit/ @waratuman +/types/qunit-dom/ @happycollision /types/quoted-printable/ @pushplay /types/qwest/ @lindsayevans /types/r-script/ @NaridaL /types/rabbit.js/ @wokim /types/radium/ @alexgorbatchev @nupplaphil @asvetliakov @mihe /types/radius/ @codeanimal -/types/ramda/ @donnut @mdekrey @mrdziuban @sbking @afharo @teves-castro @1M0reBug @hojberg @charlespwd @samsonkeung @angeloocana @raynerd @googol @moshensky @ethanresnick @leighman +/types/ramda/ @donnut @tycho01 @mdekrey @mrdziuban @sbking @afharo @teves-castro @1M0reBug @hojberg @charlespwd @samsonkeung @angeloocana @raynerd @googol @moshensky @ethanresnick @leighman @CaptJakk @deftomat @deptno @blimusiek @biern /types/random-js/ @pistacchio /types/random-number/ @OpenByteDev /types/random-seed/ @endel @@ -3113,16 +3266,18 @@ /types/rc/ @DanielRosenwasser /types/rc-select/ @DenisTirilis /types/rc-slider/ @mantasmarcinkus @mattoni @paustint @j-fro -/types/rc-tree/ @johnnyreilly +/types/rc-tree/ @johnnyreilly @Methuselah96 /types/rcloader/ @panuhorsmalahti /types/rdf-data-model/ @rubensworks /types/rdf-js/ @rubensworks /types/react/v15/ @bbenezech @pzavolinsky @digiguru @ericanderson @morcerf @tkrotoff @DovydasNavickas @onigoetz -/types/react/ @johnnyreilly @bbenezech @pzavolinsky @digiguru @ericanderson @morcerf @tkrotoff @DovydasNavickas @onigoetz @theruther4d @guilhermehubner @joshuakgoldberg @jrakotoharisoa +/types/react/ @johnnyreilly @bbenezech @pzavolinsky @digiguru @ericanderson @morcerf @tkrotoff @DovydasNavickas @onigoetz @theruther4d @guilhermehubner @ferdaber @jrakotoharisoa /types/react-alert/ @ssyrell /types/react-alice-carousel/ @endigo +/types/react-animate-on-scroll/ @ralbuque /types/react-app/ @prakarshpandey /types/react-aria-menubutton/ @forabi @crohlfs +/types/react-autocomplete/ @lstanden /types/react-autosuggest/ @nicolas-schmitt @pjo256 @robessog @tbayne @cdeutsch @rosskevin /types/react-avatar-editor/ @diogocorrea @gabsprates /types/react-beautiful-dnd/ @varHarrie @bradleyayers @paustint @@ -3141,13 +3296,16 @@ /types/react-calendar-heatmap/ @9renpoto /types/react-calendar-timeline/ @radziksh /types/react-cartographer/ @trevonmckay +/types/react-circular-progressbar/ @lstanden /types/react-click-outside/ @screendriver /types/react-codemirror/ @velveret @rudi-c /types/react-collapse/ @Kimahriman +/types/react-collapsible/ @knegusen /types/react-color/ @LKay @markspolakovs @mntdn /types/react-confirm/ @santiagodoldan -/types/react-content-loader/ @alaatm +/types/react-content-loader/ @alaatm @samwalshnz /types/react-copy-to-clipboard/ @mabels @BernabeFelix +/types/react-credit-cards/ @vstrimaitis /types/react-cropper/ @stepancar /types/react-css-modules/ @KostyaEsmukov @skirsdeda /types/react-css-transition-replace/ @LKay @@ -3177,7 +3335,7 @@ /types/react-event-listener/ @asvetliakov /types/react-fa/ @flaub @patsissons @LKay /types/react-facebook-login/ @apare @jankarres -/types/react-faux-dom/ @alitaheri @cleverguy25 @deviousm +/types/react-faux-dom/ @alitaheri @cleverguy25 @deviousm @hanai /types/react-file-input/ @dmitryrogozhny /types/react-file-reader-input/ @dmitryrogozhny @alitaheri /types/react-flags-select/ @senukartur @@ -3189,6 +3347,8 @@ /types/react-form/ @cameron-mcateer @TiuSh /types/react-foundation/ @danielearwicker /types/react-geosuggest/ @brmenchl +/types/react-google-maps-loader/ @vasilysn +/types/react-google-places-suggest/ @vasilysn /types/react-google-recaptcha/ @KoalaHuman /types/react-gravatar/ @invliD /types/react-grid-layout/ @abirkholz @alitaheri @ZheyangSong @andrewhathaway @@ -3199,13 +3359,14 @@ /types/react-highlight-words/ @mhegazy /types/react-highlighter/ @oizie /types/react-holder/ @isman-usoh -/types/react-hot-loader/ @jacekjagiello +/types/react-hot-loader/ @jacekjagiello @MartynasZilinskas @DovydasNavickas /types/react-hyperscript/ @tock203 /types/react-i18next/v1/ @KostyaEsmukov /types/react-i18next/v4/ @GiedriusGrabauskas /types/react-i18next/ @GiedriusGrabauskas @chnoch /types/react-icon-base/ @apare @LKay /types/react-icons/ @apare @johnnyreilly @LKay +/types/react-image-crop/ @danielasy /types/react-image-gallery/ @adamwpc /types/react-imageloader/ @stephenjelfs /types/react-infinite/ @rhysd @@ -3216,6 +3377,7 @@ /types/react-intl/v1/ @bgrieder /types/react-intl/ @bgrieder @cdroulers @gyzerok @tillwolff @LKay @bhouser @kristerkari @formatlos /types/react-intl-redux/ @LKay +/types/react-is/ @AviVahl /types/react-is-deprecated/ @seansfkelley /types/react-joyride/ @DanielRosenwasser @bendxn /types/react-json/ @spielc @@ -3235,18 +3397,18 @@ /types/react-measure/ @asvetliakov @marcfallows /types/react-mixin/ @tkqubo /types/react-modal/ @radziksh @drewnoakes @homburg @ttamminen @hallowatcher @peterblazejewicz -/types/react-monaco-editor/ @jnetterf /types/react-motion/ @stepancar @asvetliakov @dimitarnestorov /types/react-motion-slider/ @asvetliakov -/types/react-native/ @alloy @huhuanming @iRoachie @timwangdev @kamal @nelyousfi @alexdunne @swissmanu @bm-software +/types/react-native/ @alloy @huhuanming @iRoachie @timwangdev @kamal @nelyousfi @alexdunne @swissmanu @bm-software @tkrotoff /types/react-native-android-taskdescription/ @christianchown /types/react-native-auth0/ @ascariandrea -/types/react-native-collapsible/ @iRoachie @umidbekkarimov +/types/react-native-autocomplete-input/ @ifiokjr +/types/react-native-bluetooth-serial/ @RodrigoAWeber /types/react-native-communications/ @huhuanming @PaitoAnderson /types/react-native-datepicker/ @jacobbaskin /types/react-native-doc-viewer/ @iRoachie /types/react-native-document-picker/ @plantain-00 -/types/react-native-drawer/ @jnbt +/types/react-native-drawer/ @jnbt @suniahk /types/react-native-drawer-layout/ @jmfirth /types/react-native-elevated-view/ @fhelwanger /types/react-native-fabric/ @josephroque @@ -3254,15 +3416,20 @@ /types/react-native-fetch-blob/ @MNBuyskih /types/react-native-fs/ @pocesar @josephroque /types/react-native-google-signin/ @j-fro +/types/react-native-htmlview/ @ifiokjr /types/react-native-i18n/ @VincentLanglet +/types/react-native-indicators/ @ifiokjr /types/react-native-keep-awake/ @huhuanming -/types/react-native-linear-gradient/ @j-fro +/types/react-native-keyboard-spacer/ @VincentLanglet +/types/react-native-keychain/ @DavidFarinha /types/react-native-loading-spinner-overlay/ @fhelwanger /types/react-native-material-design-searchbar/ @iRoachie /types/react-native-material-kit/ @iRoachie @timwangdev +/types/react-native-material-textfield/ @mindhivefi /types/react-native-material-ui/ @iRoachie /types/react-native-mixpanel/ @r3nya /types/react-native-modalbox/ @iRoachie +/types/react-native-multi-slider/ @Slessi /types/react-native-navigation/ @egorshulga /types/react-native-orientation/ @MoLow /types/react-native-permissions/ @vincentlanglet @@ -3275,7 +3442,7 @@ /types/react-native-sensor-manager/ @SahinVardar /types/react-native-snap-carousel/ @jnbt @j-fro @gazaret /types/react-native-sortable-grid/ @j-fro -/types/react-native-sortable-list/ @sivolobov +/types/react-native-sortable-list/ @sivolobov @RookY2K /types/react-native-sqlite-storage/ @dryganets /types/react-native-star-rating/ @iRoachie /types/react-native-svg-uri/ @iRoachie @@ -3287,7 +3454,8 @@ /types/react-native-vector-icons/ @iRoachie @timwangdev /types/react-native-version-number/ @VincentLanglet /types/react-native-video/ @huhuanming -/types/react-navigation/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @robertohuertasm @YourGamesBeOver @ArmandoAssuncao @cliedeman +/types/react-navigation/v1/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @robertohuertasm @YourGamesBeOver @ArmandoAssuncao @cliedeman @Slessi +/types/react-navigation/ @huhuanming @mhcgrq @fangpenlin @petejkim @iRoachie @phanalpha @charlesfamu @timwangdev @bang88 @svbutko @levito @robertohuertasm @YourGamesBeOver @ArmandoAssuncao @cliedeman @Slessi @magrinj /types/react-notification-system/ @GiedriusGrabauskas @DeividasBakanas @LKay @sztobar /types/react-notification-system-redux/ @LKay /types/react-numeric-input/ @heatherbooker @@ -3295,31 +3463,36 @@ /types/react-onclickoutside/ @LKay /types/react-onsenui/ @salim7 @jemmyw /types/react-overlays/ @aaronbeall @vitosamson +/types/react-owl-carousel/ @tbounsiar @igorissen @KennethanCeyer /types/react-paginate/ @deevus @wouterhardeman @pegel03 @archy-bold /types/react-places-autocomplete/ @guilhermehubner /types/react-pointable/ @istefo @mdibyo +/types/react-popover/ @jacoporicare /types/react-portal/ @shuntksh /types/react-props-decorators/ @tkqubo +/types/react-radio-group/ @jsonunger /types/react-recaptcha/ @mhegazy @zzanol -/types/react-redux/ @tkqubo @thasner @kenzierocks @clayne11 @tansongyang @nicholasboll @mdibyo @pdeva +/types/react-redux/v5/ @tkqubo @thasner @kenzierocks @clayne11 @tansongyang @nicholasboll @mdibyo @pdeva +/types/react-redux/ @tkqubo @thasner @kenzierocks @clayne11 @tansongyang @nicholasboll @mdibyo @pdeva @kallikrein @val1984 @jrakotoharisoa /types/react-redux-epic/ @forabi /types/react-redux-i18n/ @clementdevos /types/react-redux-toastr/ @Smiche @artyomsv @kulmajaba -/types/react-relay/ @graphcool @voxmatt @alloy @npirotte -/types/react-resize-detector/ @matthew-matvei +/types/react-relay/ @graphcool @voxmatt @alloy @npirotte @ckknight +/types/react-resize-detector/ @matthew-matvei @aMoniker /types/react-resolver/ @forabi /types/react-responsive/v1/ @asvetliakov /types/react-responsive/ @asvetliakov @alechill @xaviergonz /types/react-rnd/ @Ragg- /types/react-router/v2/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov /types/react-router/v3/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov @johnnyreilly @LKay @DovydasNavickas @ssorallen -/types/react-router/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov @johnnyreilly @LKay @DovydasNavickas @tkrotoff @huy-nguyen @grmiade @DaIgeb @egorshulga @neuoy @rraina +/types/react-router/ @sergey-buturlakin @mrk21 @vasek17 @ngbrown @awendland @KostyaEsmukov @johnnyreilly @LKay @DovydasNavickas @tkrotoff @huy-nguyen @grmiade @DaIgeb @egorshulga @neuoy @rraina @pret-a-porter /types/react-router-bootstrap/ @vlesierse @LKay @olmobrutall /types/react-router-config/ @lith-light-g /types/react-router-dom/ @tkrotoff @huy-nguyen @p-jackson /types/react-router-native/ @ezintz @fhelwanger /types/react-router-navigation/ @kaoDev /types/react-router-navigation-core/ @kaoDev +/types/react-router-param-link/ @mtsg /types/react-router-redux/v3/ @isman-usoh @noah79 @rosendi /types/react-router-redux/v4/ @isman-usoh @noah79 @rosendi @LKay @DovydasNavickas /types/react-router-redux/ @huy-nguyen @8398a7 @mykolas @@ -3327,6 +3500,7 @@ /types/react-scroll/ @sudoplz @GiedriusGrabauskas /types/react-scrollbar/ @stephenjelfs /types/react-select/ @Hesquibet @giladgray @iebaker @skirsdeda @vujevits @devrelm @MartynasZilinskas @onatm @ninjaferret @tehbi4 @misantronic @darkartur +/types/react-share/ @icopp /types/react-side-effect/ @remojansen /types/react-sidebar/ @jeroenvervaeke /types/react-sketchapp/ @ricokahler @DomiR @@ -3334,12 +3508,13 @@ /types/react-smooth-scrollbar/ @asvetliakov /types/react-sortable-hoc/ @NoHomey @charlesrey /types/react-sortable-pane/ @rhysd -/types/react-sortable-tree/ @wouterhardeman @jzoric +/types/react-sortable-tree/ @wouterhardeman @jzoric @kevinsperrine /types/react-spinkit/v1/ @tkqubo @mleko @pelotom /types/react-spinkit/ @tkqubo @mleko @pelotom @zzanol /types/react-sticky/ @curtisw0 +/types/react-stickynode/ @tstirrat /types/react-stripe-elements/ @dan-j @santiagodoldan @sonnysangha @9y5 @thchia -/types/react-svg/ @viccrubs +/types/react-svg/ @viccrubs @chrisgarber /types/react-svg-pan-zoom/ @huy-nguyen /types/react-swf/ @stepancar /types/react-swipe/ @DeividasBakanas @@ -3355,9 +3530,11 @@ /types/react-test-renderer/v15/ @arvitaly @lochbrunner @lochbrunner @johnnyreilly /types/react-test-renderer/ @arvitaly @lochbrunner @johnnyreilly @jgoz /types/react-tether/ @ryprice -/types/react-text-mask/ @guilhermehubner +/types/react-text-mask/ @guilhermehubner @cavarzan /types/react-textarea-autosize/ @asvetliakov @zry656565 -/types/react-toastr/ @shssoichiro +/types/react-timeout/ @kerwynrg +/types/react-toastify/ @icopp +/types/react-toastr/ @shssoichiro @DanRegazzi /types/react-toggle/v2/ @LKay /types/react-toggle/ @LKay /types/react-tooltip/ @DeividasBakanas @@ -3377,10 +3554,11 @@ /types/react-widgets/ @rogierschouten @sanyatuning @frodehansen2 @r3nya /types/react-widgets-moment/ @dawnmist /types/react-youtube/ @kgtkr +/types/react-youtube-embed/ @charles-salmon /types/reactable/ @spielc /types/reactcss/ @chrisgervang @LKay /types/reactstrap/v4/ @alihammad @mfal @danilobjr @fabiopaiva -/types/reactstrap/ @alihammad @mfal @danilobjr @fabiopaiva @FaithForHumans @KurtPreston @timc13 +/types/reactstrap/ @alihammad @mfal @danilobjr @FaithForHumans @KurtPreston @timc13 @patrickrgaffney /types/read/ @timjk /types/read-chunk/ @crispybee /types/read-package-tree/ @mgroenhoff @@ -3391,10 +3569,11 @@ /types/readline-sync/ @jonestristand /types/readline-transform/ @dex4er /types/reapop/ @Barrokgl +/types/recaptcha2/ @l-jonas /types/recase/ @18steps /types/recharts/ @mthmulders @rapmue @royxue @ZheyangSong @richbai90 @caspeco-dan /types/recluster/ @dex4er -/types/recompose/ @iskandersierra @mrapogee @clayne11 @Pajn +/types/recompose/ @iskandersierra @mrapogee @clayne11 @Pajn @lucasterra /types/reconnectingwebsocket/ @nguarracino /types/recursive-readdir/v1/ @elisee /types/recursive-readdir/ @elisee @MicahZoltu @@ -3409,7 +3588,7 @@ /types/reduce-reducers/ @huy-nguyen /types/redux-action/ @newraina /types/redux-action-utils/ @tkqubo -/types/redux-actions/ @jaysoo @alexgorbatchev @alechill +/types/redux-actions/ @jaysoo @alexgorbatchev @alechill @alexey-pelykh /types/redux-auth-wrapper/v1/ @LKay /types/redux-auth-wrapper/ @LKay /types/redux-batched-subscribe/ @mDibyo @@ -3420,6 +3599,7 @@ /types/redux-doghouse/ @BendingBender /types/redux-first-router/ @Valbrand @viggyfresh @janb87 @corydeppen /types/redux-first-router-link/ @janb87 +/types/redux-first-router-restore-scroll/ @icopp /types/redux-form/v4/ @aikoven /types/redux-form/v6/ @carsonf @aikoven @LKay @bancek /types/redux-form/ @carsonf @aikoven @LKay @bancek @alsiola @tehbi4 @huwmartin @@ -3434,13 +3614,14 @@ /types/redux-logger/ @arusakov @kgroat /types/redux-mock-store/ @MarianPalkus /types/redux-optimistic-ui/ @asvetliakov -/types/redux-pack/ @tansongyang -/types/redux-persist-transform-encrypt/ @LKay +/types/redux-pack/ @tansongyang @quicksnap @no-stack-dub-sack +/types/redux-persist-transform-encrypt/ @LKay @dante-101 /types/redux-persist-transform-filter/ @LKay /types/redux-promise/ @molekilla @xStrom /types/redux-promise-middleware/ @ianks /types/redux-recycle/ @LKay /types/redux-router/ @stepancar +/types/redux-shortcuts/ @tstirrat /types/redux-socket.io/ @snakeego /types/redux-storage/ @asvetliakov /types/redux-storage-engine-jsurl/ @screendriver @@ -3458,8 +3639,10 @@ /types/remarkable/ @makepost /types/remote-redux-devtools/ @ColinEberhardt @unindented /types/remove-markdown/ @RagibHasin +/types/rename/ @Aankhen /types/replace-ext/ @DeividasBakanas /types/request/ @soywiz @bonnici @Bartvds @joeskeen @ccurrens @lookfirst @mastermatt +/types/request-as-curl/ @atd-schubert /types/request-ip/ @mrhen /types/request-promise/ @cglantschnig @joeskeen @AyaMorisawa @mastermatt /types/request-promise-native/ @gustavohenke @mastermatt @@ -3480,7 +3663,7 @@ /types/restangular/ @borisyankov /types/restful.js/ @tkqubo /types/restify/v4/ @blittle @stevehipwell -/types/restify/ @blittle @stevehipwell +/types/restify/ @blittle @stevehipwell @leanazulyoro /types/restify-cookies/ @weekens /types/restify-cors-middleware/ @dthunell /types/restify-errors/ @stevehipwell @@ -3488,7 +3671,7 @@ /types/restler/ @cyrilschumacher /types/restling/ @loghorn /types/resumablejs/ @DanielMcAssey -/types/rethinkdb/ @alexgorbatchev @AdrianFarmadin +/types/rethinkdb/ @alexgorbatchev @AdrianFarmadin @kondi @hoishin /types/retry/ @krenor /types/retry-as-promised/ @Raigen /types/rev-hash/ @ikatyang @@ -3509,8 +3692,10 @@ /types/riotjs/ @vvakame /types/rison/ @impworks /types/rivets/ @TrevorDev @matjanos +/types/rmfr/ @pluma /types/roads/ @dancespiele /types/roads-server/ @dancespiele +/types/roll/ @icopp /types/rollup-plugin-json/ @asmockler /types/ronomon__crypto-async/ @BendingBender /types/rosie/ @abner @subvertallchris @abukurov @@ -3527,7 +3712,9 @@ /types/rsvp/ @chriskrycho /types/rsync/ @philippstucki /types/rtree/ @oefirouz +/types/run-parallel/ @mrmlnc /types/run-sequence/ @k-kagurazaka +/types/rword/ @icopp /types/rx/ @Igorbek /types/rx-angular/ @mickdelaney /types/rx-core/ @Igorbek @mizunashi-mana @@ -3569,6 +3756,8 @@ /types/satnav/ @DotNetNerd /types/saywhen/ @SeanSobey /types/scalike/ @ryoppy +/types/schema-registry/ @bonzzy +/types/schwifty/ @ozum /types/screenfull/ @icholy @lionelb @joelshepherd /types/screeps/ @MarkoSulamagi @NhanHo @bryanbecker @resir014 @Arcath @apemanzilla /types/screeps-profiler/ @ramblurr @@ -3581,11 +3770,13 @@ /types/scryptsy/ @micksatana /types/seamless/ @danmana /types/seamless-immutable/ @alex3165 @xsburg @geirsagberg +/types/secp256k1/ @anler +/types/seed-random/ @l-jonas /types/seededshuffle/ @urish /types/seedrandom/ @kernhanda /types/segment-analytics/ @fongandrew /types/select2/v3/ @borisyankov -/types/select2/ @borisyankov +/types/select2/ @borisyankov @denisname /types/selectables/ @renjfk /types/selectize/ @adidahiya @naBausch /types/selenium-webdriver/v2/ @BillArmstrong @Kuniwak @cnishina @@ -3615,6 +3806,7 @@ /types/semver/ @Bartvds @BendingBender @LucianBuzzo /types/semver-compare/ @vincekovacs /types/semver-diff/ @chrismbarr +/types/semver-sort/ @LogvinovLeon /types/sencha_touch/ @brian428 /types/send/ @MikeJerred /types/seneca/ @psnider @kevynb @@ -3643,7 +3835,8 @@ /types/sheetify/ @toddself /types/shell-escape/ @nenadalm /types/shell-quote/ @jason0x43 -/types/shelljs/ @nikeee @voy +/types/shelljs/ @nikeee @voy @gkalpak @pheromonez +/types/shelljs-exec-proxy/ @qlonik /types/shimmer/ @kjin /types/shipit/ @cyrilschumacher /types/shipit-utils/ @cyrilschumacher @@ -3665,7 +3858,7 @@ /types/simple-cw-node/ @vvakame /types/simple-lru/ @NN--- /types/simple-mock/ @leonyu -/types/simple-oauth2/ @mad-mike +/types/simple-oauth2/ @mad-mike @troy-lamerton /types/simple-peer/ @tlaziuk /types/simple-url-cache/ @a-lucas /types/simple-websocket/ @dex4er @@ -3676,7 +3869,7 @@ /types/simplesmtp/ @rogierschouten /types/simplestorage.js/ @axelcostaspena @mxl /types/single-line-log/ @ffflorian -/types/sinon/ @mrbigdog2u @rationull @lumaxis @nicojs @43081j +/types/sinon/ @mrbigdog2u @rationull @lumaxis @nicojs @43081j @joshuakgoldberg /types/sinon-as-promised/ @igrayson /types/sinon-chai/ @kazimanzurrashid @jedmao /types/sinon-chrome/ @pimterry @crimx @kobanyan @@ -3710,8 +3903,8 @@ /types/smtpapi/ @a-morales /types/snapsvg/ @lhk @mattanja @kant2002 /types/snazzy-info-window/ @milosd92 -/types/snekfetch/ @DarkerTV -/types/snoowrap/ @vitosamson +/types/snekfetch/ @DarkerTV @ShayBox @Dev-Yukine +/types/snoowrap/ @vitosamson @TheAppleFreak /types/snowboy/ @dolanmiu /types/socket.io/ @progre @divillysausages @florentpoujol @KentarouTakeda @gigi /types/socket.io-client/ @progre @divillysausages @florentpoujol @@ -3723,6 +3916,8 @@ /types/socketty/ @Nax /types/sockjs/ @pmccloghrylaing /types/sockjs-client/ @vladev @arusakov @BendingBender @renjfk +/types/solidity-parser-antlr/ @LogvinovLeon +/types/solr-client/ @liul85 /types/solution-center-communicator/ @dami-gg /types/sort-array/ @mrmlnc /types/sortablejs/ @Maw-Fox @@ -3734,7 +3929,7 @@ /types/spark-md5/ @bastienmoulia /types/sparkly/ @BendingBender /types/sparkpost/v1/ @geoffreak -/types/sparkpost/ @geoffreak @bondz +/types/sparkpost/ @geoffreak @bondz @vvu /types/sparqljs/ @AlexeyMz /types/spatialite/ @atd-schubert /types/spdx-correct/ @jinwoo @@ -3767,6 +3962,7 @@ /types/stack-utils/ @BendingBender /types/stacktrace-js/ @exceptionless @pilagod /types/stale-lru-cache/ @cxcorp +/types/stampit/v2/ @koresar /types/stampit/ @koresar /types/stamplay-js-sdk/ @ridermansb /types/stat-mode/ @BendingBender @@ -3792,7 +3988,8 @@ /types/storybook__addon-knobs/ @joscha @martynaskadisa /types/storybook__addon-links/ @joscha @jessepinho /types/storybook__addon-notes/ @joscha -/types/storybook__addon-options/ @joscha +/types/storybook__addon-options/ @joscha @simonhn +/types/storybook__addon-storyshots/ @bradleyayers /types/storybook__react/ @joscha @wapgear /types/storybook__vue/ @pntgupta /types/stream-buffers/ @Jason3S @@ -3827,27 +4024,32 @@ /types/stylelint/ @alan-agius4 /types/stylelint-webpack-plugin/ @bahlo /types/stylus/ @SomaticIT +/types/subscribe-ui-event/ @wangcheng678 /types/subsume/ @BendingBender /types/succinct/ @EnableSoftware /types/sudo-block/ @BendingBender /types/suitescript/ @darrenhillconsulting /types/sumo-logger/ @forabi @clementallen /types/superagent/v2/ @varju @NicoZelaya @mxl -/types/superagent/ @NicoZelaya @mxl @paplorinc @shreyjain1994 +/types/superagent/ @NicoZelaya @mxl @paplorinc @shreyjain1994 @zopf /types/superagent-no-cache/ @mxl /types/superagent-prefix/ @mxl /types/supercluster/ @DenisCarriere /types/supertest/ @varju /types/supertest-as-promised/ @tkrotoff -/types/supports-color/ @mgroenhoff +/types/supports-color/v3/ @mgroenhoff +/types/supports-color/ @mgroenhoff @mtraynham /types/svg-injector/ @poke /types/svg-parser/ @mrmlnc +/types/svg-path-bounding-box/ @NotWoods /types/svg-sprite/ @tkqubo /types/svg2png/ @hansrwindhoff @sccgithub /types/svg4everybody/ @BendingBender /types/svgjs.draggable/ @LiFeleSs /types/svgjs.resize/ @jkevingutierrez -/types/svgo/ @bradleyayers @giladgray +/types/svgo/ @bradleyayers @giladgray @Aankhen +/types/sw-precache/ @JounQin +/types/sw-precache-webpack-plugin/ @JounQin /types/swag/ @shiwano /types/swagger-express-middleware/ @alexandreroba /types/swagger-express-mw/ @micmro @@ -3861,12 +4063,14 @@ /types/swagger-schema-official/ @mohsen1 @bsouthga @nimerritt /types/swagger-tools/ @bricka /types/swaggerize-express/ @mugeso @nickmorton +/types/swe-validation/ @hjalmers /types/swfobject/ @rou /types/swiftclick/ @Laurence-C /types/swig/ @CodeAnimal @soywiz /types/swig-email-templates/ @mrhen @micksatana /types/swipe/ @kant2002 -/types/swiper/ @sgaliano @lucax88x +/types/swiper/v3/ @sgaliano @lucax88x +/types/swiper/ @sgaliano @lucax88x @ematseruk /types/swipeview/ @borisyankov /types/switchery/ @bgrieder @claylaut /types/swiz/ @jedigo @@ -3875,14 +4079,17 @@ /types/systeminformation/ @PixelcrabAT /types/systemjs/ @ludohenin @NathanWalker @GiedriusGrabauskas @aluanhaddad /types/table/ @evanshortiss @mrmlnc +/types/tableau/ @protip /types/tabris-plugin-firebase/ @eclipsesource /types/tabtab/ @vojtechhabarta /types/tabulator/ @euginio +/types/tail/ @spacejack /types/tapable/v0/ @e-cloud /types/tapable/ @e-cloud /types/tape/ @Bartvds @sodatea @DennisSchwartz @mikehenrty /types/tar/ @SomaticIT @connor4312 /types/tar-fs/ @Umoxfo +/types/tar-stream/ @glicht /types/tcp-ping/ @stegano /types/tedious/ @rogierschouten @cjthompson /types/tedious-connection-pool/ @sandorfr @@ -3899,8 +4106,9 @@ /types/text-buffer/ @GlenCFL /types/text-encoding/ @pine613 /types/text-encoding-utf-8/ @trxcllnt +/types/text-table/ @saadq /types/textarea-caret/ @shiftkey -/types/three/ @gyohk @florentpoujol @SereznoKot @omni360 @ivoisbelongtous @piranha771 @qszhusightp @nakakura @s093294 @Pro @efokschaner @PsychoSTS @dhritzkiv @apurvaojas +/types/three/ @gyohk @florentpoujol @SereznoKot @omni360 @ivoisbelongtous @piranha771 @qszhusightp @nakakura @s093294 @Pro @efokschaner @PsychoSTS @dhritzkiv @apurvaojas @NotWoods @sethk /types/thrift/ @kamek-pf @kevin-greene-ck @jessezhang91 /types/throng/ @cyrilschumacher @tatethurston /types/throttle/ @BendingBender @@ -3931,19 +4139,26 @@ /types/to-title-case-gouch/ @stpettersens /types/toastr/ @borisyankov /types/tocktimer/ @evanshortiss +/types/tokgen/ @l-jonas +/types/toobusy-js/ @atd-schubert /types/tooltipster/ @stephenlautier @pjmagee @VorobeY1326 @leonard-thieu @janhi @joeskeen /types/topojson/ @ricardo-mello @chenzhutian @denisname +/types/topojson-client/ @denisname @ricardo-mello +/types/topojson-simplify/ @denisname @ricardo-mello +/types/topojson-specification/ @denisname /types/torrent-stream/ @xstoudi /types/touch/ @mizunashi-mana @BendingBender /types/touch-events/ @kevinb7 -/types/tough-cookie/ @leonard-thieu @LiJinyao +/types/tough-cookie/ @leonard-thieu @LiJinyao @no2chem /types/traceback/ @misak113 /types/tracking/ @pimterry /types/transducers-js/ @colinkahn @dphilipson @NaridaL /types/transducers.js/ @dphilipson +/types/transliteration/ @tony19 /types/trash/ @matthew-matvei @hoishin /types/traverse/ @newclear /types/traverson/ @marcinporebski +/types/travis-fold/ @andy-ms /types/trayballoon/ @korve /types/tress/ @sindilevich /types/trim/ @skysteve @@ -3954,7 +4169,7 @@ /types/tus-js-client/ @kevhiggins /types/tv4/ @Bartvds @psnider /types/tween.js/ @Amos47 @sunetos @jzarnikov @alexburner -/types/tweenjs/ @evilangelist +/types/tweenjs/ @evilangelist @jcyuan /types/tweezer.js/ @praxxis /types/twig/ @soywiz @enko /types/twilio/ @nickiannone @ashleybrener @@ -3969,6 +4184,7 @@ /types/type-is/ @BendingBender /types/type-name/ @armorik83 /types/typeahead/ @igochkov @gjunge +/types/typed.js/ @Dona278 /types/typedarray-pool/ @pawsong /types/typeof/ @OpenByteDev /types/typescript-deferred/ @DirtyHairy @@ -4005,7 +4221,7 @@ /types/untildify/ @BendingBender /types/unused-filename/ @BendingBender /types/unzip/ @coding2012 -/types/unzipper/ @s73obrien +/types/unzipper/ @s73obrien @natemara /types/update-notifier/v1/ @vvakame @nchen63 /types/update-notifier/ @vvakame @nchen63 @bitjson /types/upng-js/ @plantain-00 @@ -4017,8 +4233,10 @@ /types/url-assembler/ @wolfgang42 /types/url-join/ @rogierschouten @devrelm /types/url-metadata/ @mrkmg +/types/url-params/ @danielsogl /types/url-parse/ @ChernenkoPaul /types/url-regex/ @unindented +/types/url-safe-base64/ @johngeorgewright /types/url-search-params/ @nick121212 @nrathi /types/url-template/ @marcinporebski /types/urllib/ @sorayama @@ -4044,7 +4262,7 @@ /types/valerie/ @conficient /types/vali-date/ @SamVerschueren /types/valid-url/ @stevehipwell -/types/validator/ @tgfjt @chrootsu @IOAyman @louy @kacepe @deptno @builtinnya +/types/validator/ @tgfjt @chrootsu @IOAyman @louy @kacepe @deptno @builtinnya @qqilihq /types/validatorjs/ @LKay @danmana /types/vanilla-modal/ @samnau /types/vanilla-tilt/ @BrunnerLivio @@ -4061,7 +4279,7 @@ /types/vfile/ @bizen241 @rokt33r /types/vfile-location/ @ikatyang /types/victory/ @asvetliakov @snerks @Havret -/types/video.js/ @vbortone @scleriot @SWBennett06 @IgelCampus +/types/video.js/ @vbortone @scleriot @SWBennett06 @IgelCampus @giofreitas /types/viewability-helper/ @lironzluf /types/viewerjs/ @lrh3321 /types/viewporter/ @borisyankov @@ -4086,6 +4304,7 @@ /types/voronoi-diagram/ @michaelneu /types/vortex-web-client/ @Pro /types/voximplant-websdk/ @aylarov +/types/vue-markdown/ @neodon /types/vue-resource/ @kaorun343 /types/vue-scrollto/ @vincekovacs /types/vuex-i18n/ @jaeggerr @@ -4120,11 +4339,11 @@ /types/webdriverio/ @nmalaguti @timbru31 @fsmedberg-tc @tanvirislam06 @phil-lgr /types/webfontloader/ @doskallemaskin /types/webgl-ext/ @zenmumbler -/types/webgl2/ @nkemnitz +/types/webgl2/ @nkemnitz @karhu /types/webidl2/ @saschanaz /types/webmidi/ @lostfictions -/types/webpack/v3/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @ahmed-taj @alan-agius4 @elliottsj @jason0x43 -/types/webpack/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @ahmed-taj @alan-agius4 @elliottsj @jason0x43 @dennispg +/types/webpack/v3/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @ahmed-taj @alan-agius4 @elliottsj @jason0x43 @christophehurpeau +/types/webpack/ @tkqubo @bumbleblym @bcherny @tommytroylin @mohsen1 @jcreamer898 @ahmed-taj @alan-agius4 @elliottsj @jason0x43 @dennispg @christophehurpeau /types/webpack-bundle-analyzer/ @kryops /types/webpack-chain/ @eirikurn @psachs21 /types/webpack-chunk-hash/ @mtraynham @@ -4155,7 +4374,7 @@ /types/weixin-app/ @taoqf @AlexStacker /types/wellknown/ @yairtawil /types/whatwg-mimetype/ @petejohanson -/types/whatwg-streams/ @saschanaz +/types/whatwg-streams/ @saschanaz @ksm2 /types/whatwg-url/ @aomarks /types/wheel/ @BTOdell /types/when/ @derekcicerone @Nemo157 @@ -4165,6 +4384,7 @@ /types/window-or-global/ @vvakame /types/window-size/ @pmkary /types/windows-1251/ @RomanGolovanov +/types/windows-script-host/ @zspitz /types/windows-service/ @rogierschouten /types/winjs/v1/ @adamhewitt627 @craigktreasure @xirzec /types/winjs/v2/ @adamhewitt627 @craigktreasure @xirzec @@ -4183,9 +4403,11 @@ /types/wpapi/ @guoyunhe /types/wrap-ansi/v2/ @kayahr /types/wrap-ansi/ @kayahr -/types/wreck/ @marcinporebski +/types/wreck/v7/ @marcinporebski +/types/wreck/ @marcinporebski @saboya /types/wrench/ @soywiz /types/write-file-atomic/ @BendingBender +/types/write-file-atomically/ @Aankhen /types/write-json-file/ @DenisCarriere /types/write-pkg/ @azasypkin /types/ws/ @loyd @elithrar @mlamp @TitaneBoy @orblazer @@ -4234,9 +4456,10 @@ /types/youtube/ @DazWilkin @JoshuaKGoldberg @eliotfallon213 /types/youtube-dl/ @bsurai /types/yui/ @giabao -/types/yup/ @dhardtke @vtserman @MoretonBayRC +/types/yup/ @dhardtke @vtserman @MoretonBayRC @sseppola /types/z-schema/ @pgonzal /types/zapier-platform-core/ @bradleyayers +/types/zeit__next-typescript/ @icopp /types/zen-observable/ @aicest /types/zen-push/ @daprahamian /types/zenscroll/ @HamedFathi @@ -4252,5 +4475,6 @@ /types/zipkin-transport-http/ @plantain-00 /types/zmq/ @davemckeown /types/zookeeper/ @xialeistudio +/types/zopflipng-bin/ @hikoma /types/zui/ @yuanxu /types/zxcvbn/ @mtraynham diff --git a/README.md b/README.md index 554316e52a..8e582f05b4 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ Your package should have this structure: | tsconfig.json | This allows you to run `tsc` within the package. | | tslint.json | Enables linting. | -Generate these by running `npm install -g dts-gen` and `dts-gen --dt --name my-package-name --template module`. +Generate these by running `npx dts-gen --dt --name my-package-name --template module` if you have npm ≥ 5.2.0, `npm install -g dts-gen` and `dts-gen --dt --name my-package-name --template module` otherwise. See all options at [dts-gen](https://github.com/Microsoft/dts-gen). You may edit the `tsconfig.json` to add new files, to add `"target": "es6"` (needed for async functions), to add to `"lib"`, or to add the `"jsx"` compiler option. diff --git a/notNeededPackages.json b/notNeededPackages.json index dd5523d102..4fb2ecedb3 100644 --- a/notNeededPackages.json +++ b/notNeededPackages.json @@ -1158,6 +1158,12 @@ "sourceRepoURL": "https://github.com/react-ga/react-ga", "asOfVersion": "2.3.0" }, + { + "libraryName": "react-monaco-editor", + "typingsPackageName": "react-monaco-editor", + "sourceRepoURL": "https://github.com/superRaytin/react-monaco-editor", + "asOfVersion": "0.16.0" + }, { "libraryName": "react-native-collapsible", "typingsPackageName": "react-native-collapsible", diff --git a/package.json b/package.json index 37d1f4d48b..c5b1b03057 100644 --- a/package.json +++ b/package.json @@ -1,27 +1,27 @@ { - "private": true, - "name": "definitely-typed", - "version": "0.0.2", - "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped", - "repository": { - "type": "git", - "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git" - }, - "license": "MIT", - "bugs": { - "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" - }, - "engines": { - "node": ">=7.8.0" - }, - "scripts": { - "compile-scripts": "tsc -p scripts", - "not-needed": "node scripts/not-needed.js", - "test": "node node_modules/types-publisher/bin/tester/test.js --run-from-definitely-typed", - "lint": "dtslint types" - }, - "devDependencies": { - "dtslint": "github:Microsoft/dtslint#production", - "types-publisher": "Microsoft/types-publisher#production" - } + "private": true, + "name": "definitely-typed", + "version": "0.0.2", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped", + "repository": { + "type": "git", + "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" + }, + "engines": { + "node": ">=7.8.0" + }, + "scripts": { + "compile-scripts": "tsc -p scripts", + "not-needed": "node scripts/not-needed.js", + "test": "node node_modules/types-publisher/bin/tester/test.js --run-from-definitely-typed", + "lint": "dtslint types" + }, + "devDependencies": { + "dtslint": "github:Microsoft/dtslint#production", + "types-publisher": "Microsoft/types-publisher#production" + } } diff --git a/types/ace-diff/ace-diff-tests.ts b/types/ace-diff/ace-diff-tests.ts new file mode 100644 index 0000000000..52e64589a3 --- /dev/null +++ b/types/ace-diff/ace-diff-tests.ts @@ -0,0 +1,22 @@ +import AceDiff = require('ace-diff'); + +new AceDiff(); // $ExpectError + +const aceDiffConstructorOpts = { + element: '.acediff', + left: { content: 'left content' }, + right: { content: 'right content' }, +}; +new AceDiff(aceDiffConstructorOpts); // $ExpectType AceDiff + +const differ = new AceDiff(aceDiffConstructorOpts); + +differ.getEditors(); // $ExpectType { left: any; right: any; } +differ.setOptions(); // $ExpectError +const aceDiffOpts = { + diffGranularity: 'broad' as 'broad', // workaround: cast to avoid https://github.com/Microsoft/TypeScript/issues/11465#issuecomment-252453037 +}; +differ.setOptions(aceDiffOpts); // $ExpectType void +differ.getNumDiffs(); // $ExpectType number +differ.diff(); // $ExpectType void +differ.destroy(); // $ExpectType void diff --git a/types/ace-diff/index.d.ts b/types/ace-diff/index.d.ts new file mode 100644 index 0000000000..b59b3d25e2 --- /dev/null +++ b/types/ace-diff/index.d.ts @@ -0,0 +1,52 @@ +// Type definitions for ace-diff 2.1 +// Project: https://ace-diff.github.io/ace-diff/ +// Definitions by: Mike Dodge +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export as namespace AceDiff; + +export = AceDiff; + +declare class AceDiff { + constructor(opts: AceDiff.AceDiffConstructorOpts); + getEditors(): { + left: any; + right: any; + }; + setOptions(options: AceDiff.AceDiffOpts): void; + getNumDiffs(): number; + diff(): void; + destroy(): void; +} +declare namespace AceDiff { + interface AceDiffLROpts { + content?: string | null; + mode?: string; + theme?: string; + editable?: boolean; + copyLinkEnabled?: boolean; + } + + interface AceDiffConstructorOpts extends AceDiffOpts { + element: string | HTMLElement; + left: AceDiffLROpts; + right: AceDiffLROpts; + } + + interface AceDiffOpts { + mode?: string; + theme?: string; + diffGranularity?: 'specific' | 'broad'; + showDiffs?: boolean; + showConnectors?: boolean; + maxDiffs?: number; + left?: AceDiffLROpts; + right?: AceDiffLROpts; + classes?: { + diff: string; + connector: string; + newCodeConnectorLinkContent: string; + deletedCodeConnectorLinkContent: string; + }; + } +} diff --git a/types/ace-diff/tsconfig.json b/types/ace-diff/tsconfig.json new file mode 100644 index 0000000000..00fb70bbcd --- /dev/null +++ b/types/ace-diff/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "ace-diff-tests.ts" + ] +} diff --git a/types/react-monaco-editor/tslint.json b/types/ace-diff/tslint.json similarity index 100% rename from types/react-monaco-editor/tslint.json rename to types/ace-diff/tslint.json diff --git a/types/activex-access/activex-access-tests.ts b/types/activex-access/activex-access-tests.ts index f224b92d70..3992ba34fd 100644 --- a/types/activex-access/activex-access-tests.ts +++ b/types/activex-access/activex-access-tests.ts @@ -1,3 +1,5 @@ +/// + let app = new ActiveXObject('Access.Application'); app.UserControl = true; @@ -6,7 +8,7 @@ app.DoCmd.OpenForm('MyForm', Access.AcFormView.acNormal, '', 'LastName="Smith"') // change the contents of a textbox // tslint:disable-next-line:no-unnecessary-type-assertion -let textbox = app.Forms.Item('MyForm').Controls.Item('MyTextBox') as Access.TextBox; +let textbox = app.Forms('MyForm').Controls('MyTextBox') as Access.TextBox; textbox.Text = 'Not Smith'; // save the current record on the active form diff --git a/types/activex-access/index.d.ts b/types/activex-access/index.d.ts index 2529538cad..d0bf798652 100644 --- a/types/activex-access/index.d.ts +++ b/types/activex-access/index.d.ts @@ -4,6 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 +/// /// /// /// @@ -929,6 +930,14 @@ declare namespace Access { acFormReadOnly = 2, } + const enum AcFormSection { + acDetail = 0, + acFooter = 2, + acHeader = 1, + acPageFooter = 4, + acPageHeader = 3, + } + const enum AcFormView { acDesign = 1, acFormDS = 3, @@ -987,6 +996,13 @@ declare namespace Access { acLayoutTabular = 1, } + const enum AcSetMenuItemState { + acMenuCheck = 3, + acMenuGray = 1, + acMenuUncheck = 2, + acMenuUngray = 0, + } + const enum AcModuleType { acClassModule = 1, acStandardModule = 0, @@ -1027,6 +1043,21 @@ declare namespace Access { acReadOnly = 2, } + const enum AcOutputFormat { + acFormatASP = 'Microsoft Active Server Pages (*.asp)', + acFormatDAP = 'Microsoft Access Data Access Page (*.htm; *.html)', + acFormatHTML = 'HTML (*.html)', + acFormatIIS = 'Microsoft IIS (*.htx; *.idc)', + acFormatPDF = 'PDF Format (*.pdf)', + acFormatRTF = 'Rich Text Format (*.rtf)', + acFormatSNP = 'Snapshot Format (*.snp)', + acFormatTXT = 'MS-DOS Text (*.txt)', + acFormatXLS = 'Microsoft Excel (*.xls)', + acFormatXLSB = 'Microsoft Excel Binary Workbook (*.xlsb)', + acFormatXLSX = 'Microsoft Excel Workbook (*.xlsx)', + acFormatXPS = 'XPS Format (*.xps)' + } + const enum AcOutputObjectType { acOutputDataAccessPage = 6, acOutputForm = 2, @@ -1185,18 +1216,7 @@ declare namespace Access { acPrevious = 0, } - const enum AcResourceType { - acResourceImage = 1, - acResourceTheme = 0, - } - - const enum AcSearchDirection { - acDown = 1, - acSearchAll = 2, - acUp = 0, - } - - const enum AcSection { + const enum AcReportSection { acDetail = 0, acFooter = 2, acGroupLevel1Footer = 6, @@ -1208,6 +1228,17 @@ declare namespace Access { acPageHeader = 3, } + const enum AcResourceType { + acResourceImage = 1, + acResourceTheme = 0, + } + + const enum AcSearchDirection { + acDown = 1, + acSearchAll = 2, + acUp = 0, + } + const enum AcSendObjectType { acSendDataAccessPage = 6, acSendForm = 2, @@ -1864,19 +1895,9 @@ declare namespace Access { TypeLib = 0, } - class _AccessProperty { - private 'Access._AccessProperty_typekey': _AccessProperty; - private constructor(); - readonly Application: Application; - readonly Category: number; - readonly Inherited: boolean; - IsMemberSafe(dispid: number): boolean; - Name: string; - readonly Parent: any; - readonly Properties: DAO.Properties; - Type: number; - Value: any; - } + type ByteArray = SafeArray; + + type DatabaseType = 'Microsoft Access (default)' | 'Jet 2.x' | 'Jet 3.x' | 'dBase III' | 'dBase IV' | 'dBase 5.0' | 'Paradox 3.x' | 'Paradox 4.x' | 'Paradox 5.x' | 'Paradox 7.x' | 'ODBC Database' | 'WSS'; class _CheckBoxInOption { private 'Access._CheckBoxInOption_typekey': _CheckBoxInOption; @@ -1957,7 +1978,7 @@ declare namespace Access { Left: number; LeftPadding: number; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; OldBorderStyle: number; readonly OldValue: any; @@ -2094,7 +2115,7 @@ declare namespace Access { LeftMargin: number; LeftPadding: number; LineSpacing: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; NumeralShapes: number; OldBorderStyle: number; @@ -2161,7 +2182,7 @@ declare namespace Access { readonly Layout: AcLayoutType; readonly LayoutID: number; LeftPadding: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; readonly Object: any; ObjectVerbs(Index: number): string; @@ -2249,7 +2270,7 @@ declare namespace Access { LeftPadding: number; Locked: boolean; LpOleObject: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; readonly Object: any; ObjectPalette: any; @@ -2290,12 +2311,11 @@ declare namespace Access { Width: number; } - class _ItemsSelected { - private 'Access._ItemsSelected_typekey': _ItemsSelected; - private constructor(); + interface _ItemsSelected { readonly Count: number; IsMemberSafe(dispid: number): boolean; Item(Index: any): number; + (Index: any): number; } class _OptionButtonInOption { @@ -2377,7 +2397,7 @@ declare namespace Access { Left: number; LeftPadding: number; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; OldBorderStyle: number; readonly OldValue: any; @@ -2645,7 +2665,7 @@ declare namespace Access { Left: number; LeftPadding: number; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; ObjectPalette: any; readonly OldValue: any; @@ -2745,16 +2765,15 @@ declare namespace Access { readonly Type: AcObjectType; } - class AccessObjectProperties { - private 'Access.AccessObjectProperties_typekey': AccessObjectProperties; - private constructor(); + interface AccessObjectProperties { Add(PropertyName: string, Value: any): void; readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): AccessObjectProperty; + Item(Index: number | string): AccessObjectProperty; readonly Parent: any; - Remove(Item: any): void; + Remove(Item: number | string): void; + (Index: number | string): AccessObjectProperty; } class AccessObjectProperty { @@ -2766,130 +2785,42 @@ declare namespace Access { Value: any; } - class AdditionalData { - private 'Access.AdditionalData_typekey': AdditionalData; + interface AccessObjects { + readonly Application: Application; + readonly Count: number; + IsMemberSafe(dispid: number): boolean; + Item(var_0: number | string): AccessObject; + readonly Parent: any; + (var_0: number | string): AccessObject; + } + + class AccessProperty { + private 'Access._AccessProperty_typekey': AccessProperty; private constructor(); + readonly Application: Application; + readonly Category: number; + readonly Inherited: boolean; + IsMemberSafe(dispid: number): boolean; + Name: string; + readonly Parent: any; + readonly Properties: DAO.Properties; + Type: number; + Value: any; + } + + interface AdditionalData { Add(var_0: string): AdditionalData; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): AdditionalData; + Item(Index: number | string): AdditionalData; Name: string; - } - - class AllDataAccessPages { - private 'Access.AllDataAccessPages_typekey': AllDataAccessPages; - private constructor(); - readonly Application: Application; - readonly Count: number; - IsMemberSafe(dispid: number): boolean; - Item(var_0: any): AccessObject; - readonly Parent: any; - } - - class AllDatabaseDiagrams { - private 'Access.AllDatabaseDiagrams_typekey': AllDatabaseDiagrams; - private constructor(); - readonly Application: Application; - readonly Count: number; - IsMemberSafe(dispid: number): boolean; - Item(var_0: any): AccessObject; - readonly Parent: any; - } - - class AllForms { - private 'Access.AllForms_typekey': AllForms; - private constructor(); - readonly Application: Application; - readonly Count: number; - IsMemberSafe(dispid: number): boolean; - Item(var_0: any): AccessObject; - readonly Parent: any; - } - - class AllFunctions { - private 'Access.AllFunctions_typekey': AllFunctions; - private constructor(); - readonly Application: Application; - readonly Count: number; - IsMemberSafe(dispid: number): boolean; - Item(var_0: any): AccessObject; - readonly Parent: any; - } - - class AllMacros { - private 'Access.AllMacros_typekey': AllMacros; - private constructor(); - readonly Application: Application; - readonly Count: number; - IsMemberSafe(dispid: number): boolean; - Item(var_0: any): AccessObject; - readonly Parent: any; - } - - class AllModules { - private 'Access.AllModules_typekey': AllModules; - private constructor(); - readonly Application: Application; - readonly Count: number; - IsMemberSafe(dispid: number): boolean; - Item(var_0: any): AccessObject; - readonly Parent: any; - } - - class AllQueries { - private 'Access.AllQueries_typekey': AllQueries; - private constructor(); - readonly Application: Application; - readonly Count: number; - IsMemberSafe(dispid: number): boolean; - Item(var_0: any): AccessObject; - readonly Parent: any; - } - - class AllReports { - private 'Access.AllReports_typekey': AllReports; - private constructor(); - readonly Application: Application; - readonly Count: number; - IsMemberSafe(dispid: number): boolean; - Item(var_0: any): AccessObject; - readonly Parent: any; - } - - class AllStoredProcedures { - private 'Access.AllStoredProcedures_typekey': AllStoredProcedures; - private constructor(); - readonly Application: Application; - readonly Count: number; - IsMemberSafe(dispid: number): boolean; - Item(var_0: any): AccessObject; - readonly Parent: any; - } - - class AllTables { - private 'Access.AllTables_typekey': AllTables; - private constructor(); - readonly Application: Application; - readonly Count: number; - IsMemberSafe(dispid: number): boolean; - Item(var_0: any): AccessObject; - readonly Parent: any; - } - - class AllViews { - private 'Access.AllViews_typekey': AllViews; - private constructor(); - readonly Application: Application; - readonly Count: number; - IsMemberSafe(dispid: number): boolean; - Item(var_0: any): AccessObject; - readonly Parent: any; + (Index: number | string): AdditionalData; } class Application { private 'Access.Application_typekey': Application; private constructor(); - AccessError(ErrorNumber: any): any; + AccessError(ErrorNumber: number): string; AddAutoCorrect(ChangeFrom: string, ChangeTo: string): void; AddToFavorites(): void; readonly ADOConnectString: string; @@ -2914,46 +2845,42 @@ declare namespace Access { readonly COMAddIns: Office.COMAddIns; readonly CommandBars: Office.CommandBars; - /** @param boolean [LogFile=false] */ + /** @param LogFile [LogFile=false] */ CompactRepair(SourceFile: string, DestinationFile: string, LogFile?: boolean): boolean; ConvertAccessProject(SourceFilename: string, DestinationFilename: string, DestinationFileFormat: AcFileFormat): void; - CreateAccessProject(filepath: string, Connect?: any): void; + CreateAccessProject(filepath: string, Connect?: string): void; CreateAdditionalData(): AdditionalData; - /** @param Access.AcSection [Section=0] */ - CreateControl(FormName: string, ControlType: AcControlType, Section?: AcSection, Parent?: any, ColumnName?: any, Left?: any, Top?: any, Width?: any, Height?: any): Control; - CreateControlEx( - FormName: string, ControlType: AcControlType, Section: AcSection, Parent: string, ControlSource: string, Left: number, Top: number, Width: number, Height: number): Control; - CreateControlExOld( - FormName: string, ControlType: AcControlType, Section: AcSection, Parent: string, ControlSource: string, Left: number, Top: number, Width: number, Height: number): Control; + /** @param Section [Section=0] */ + CreateControl(FormName: string, ControlType: AcControlType, Section?: AcFormSection, Parent?: string, ColumnName?: string, Left?: number, Top?: number, Width?: number, Height?: number): Control; + CreateControlEx(FormName: string, ControlType: AcControlType, Section: AcFormSection, Parent: string, ControlSource: string, Left: number, Top: number, Width: number, Height: number): Control; + CreateControlExOld(FormName: string, ControlType: AcControlType, Section: AcFormSection, Parent: string, ControlSource: string, Left: number, Top: number, Width: number, Height: number): Control; - /** @param Access.AcSection [Section=0] */ - CreateControlOld(FormName: string, ControlType: AcControlType, Section?: AcSection, Parent?: any, ColumnName?: any, Left?: any, Top?: any, Width?: any, Height?: any): Control; + /** @param Section [Section=0] */ + CreateControlOld(FormName: string, ControlType: AcControlType, Section?: AcFormSection, Parent?: string, ColumnName?: string, Left?: number, Top?: number, Width?: number, Height?: number): Control; - /** @param boolean [CreateNewFile=true] */ - CreateDataAccessPage(FileName: any, CreateNewFile?: boolean): DataAccessPage; - CreateForm(Database?: any, FormTemplate?: any): Form; + /** @param CreateNewFile [CreateNewFile=true] */ + CreateDataAccessPage(FileName: string, CreateNewFile?: boolean): DataAccessPage; + CreateForm(Database?: string, FormTemplate?: string): Form; CreateGroupLevel(ReportName: string, Expression: string, Header: number, Footer: number): number; /** - * @param string [Path=' '] - * @param string [Name=' '] - * @param string [Company=' '] - * @param string [WorkgroupID=' '] - * @param boolean [Replace=false] + * @param Path [Path=' '] + * @param Name [Name=' '] + * @param Company [Company=' '] + * @param WorkgroupID [WorkgroupID=' '] + * @param Replace [Replace=false] */ CreateNewWorkgroupFile(Path?: string, Name?: string, Company?: string, WorkgroupID?: string, Replace?: boolean): void; - CreateReport(Database?: any, ReportTemplate?: any): Report; + CreateReport(Database?: string, ReportTemplate?: string): Report; - /** @param Access.AcSection [Section=0] */ - CreateReportControl(ReportName: string, ControlType: AcControlType, Section?: AcSection, Parent?: any, ColumnName?: any, Left?: any, Top?: any, Width?: any, Height?: any): Control; - CreateReportControlEx( - ReportName: string, ControlType: AcControlType, Section: AcSection, Parent: string, ControlName: string, Left: number, Top: number, Width: number, Height: number): Control; - CreateReportControlExOld( - ReportName: string, ControlType: AcControlType, Section: AcSection, Parent: string, ControlName: string, Left: number, Top: number, Width: number, Height: number): Control; + /** @param Section [Section=0] */ + CreateReportControl(ReportName: string, ControlType: AcControlType, Section?: AcReportSection, Parent?: string, ColumnName?: string, Left?: number, Top?: number, Width?: number, Height?: number): Control; + CreateReportControlEx(ReportName: string, ControlType: AcControlType, Section: AcReportSection, Parent: string, ControlName: string, Left: number, Top: number, Width: number, Height: number): Control; + CreateReportControlExOld(ReportName: string, ControlType: AcControlType, Section: AcReportSection, Parent: string, ControlName: string, Left: number, Top: number, Width: number, Height: number): Control; - /** @param Access.AcSection [Section=0] */ - CreateReportControlOld(ReportName: string, ControlType: AcControlType, Section?: AcSection, Parent?: any, ColumnName?: any, Left?: any, Top?: any, Width?: any, Height?: any): Control; + /** @param Section [Section=0] */ + CreateReportControlOld(ReportName: string, ControlType: AcControlType, Section?: AcReportSection, Parent?: string, ColumnName?: string, Left?: number, Top?: number, Width?: number, Height?: number): Control; readonly CurrentData: CurrentData; CurrentDb(): DAO.Database; readonly CurrentObjectName: string; @@ -2963,97 +2890,99 @@ declare namespace Access { CurrentWebUser(DisplayOption: AcWebUserDisplay): any; CurrentWebUserGroups(DisplayOption: AcWebUserGroupsDisplay): any; readonly DataAccessPages: DataAccessPages; - DAvg(Expr: string, Domain: string, Criteria?: any): any; + DAvg(Expr: string, Domain: string, Criteria?: string): number | null; readonly DBEngine: DAO.DBEngine; - DCount(Expr: string, Domain: string, Criteria?: any): any; - DDEExecute(ChanNum: any, Command: string): void; - DDEInitiate(Application: string, Topic: string): any; - DDEPoke(ChanNum: any, Item: string, Data: string): void; - DDERequest(ChanNum: any, Item: string): string; - DDETerminate(ChanNum: any): void; + DCount(Expr: string, Domain: string, Criteria?: string): number | null; + DDEExecute(ChanNum: number, Command: string): void; + DDEInitiate(Application: string, Topic: string): number; + DDEPoke(ChanNum: number, Item: string, Data: string): void; + DDERequest(ChanNum: number, Item: string): string; + DDETerminate(ChanNum: number): void; DDETerminateAll(): void; readonly DefaultWebOptions: DefaultWebOptions; DefaultWorkspaceClone(): DAO.Workspace; DelAutoCorrect(ChangeFrom: string): void; DeleteControl(FormName: string, ControlName: string): void; DeleteReportControl(ReportName: string, ControlName: string): void; - DFirst(Expr: string, Domain: string, Criteria?: any): any; + DFirst(Expr: string, Domain: string, Criteria?: string): any; DirtyObject(ObjectType: AcObjectType, ObjectName: string): void; - DLast(Expr: string, Domain: string, Criteria?: any): any; - DLookup(Expr: string, Domain: string, Criteria?: any): any; - DMax(Expr: string, Domain: string, Criteria?: any): any; - DMin(Expr: string, Domain: string, Criteria?: any): any; + DLast(Expr: string, Domain: string, Criteria?: string): any; + DLookup(Expr: string, Domain: string, Criteria?: string): any; + DMax(Expr: string, Domain: string, Criteria?: string): any; + DMin(Expr: string, Domain: string, Criteria?: string): any; readonly DoCmd: DoCmd; - DStDev(Expr: string, Domain: string, Criteria?: any): any; - DStDevP(Expr: string, Domain: string, Criteria?: any): any; - DSum(Expr: string, Domain: string, Criteria?: any): any; - DVar(Expr: string, Domain: string, Criteria?: any): any; - DVarP(Expr: string, Domain: string, Criteria?: any): any; + DStDev(Expr: string, Domain: string, Criteria?: string): number | null; + DStDevP(Expr: string, Domain: string, Criteria?: string): number | null; + DSum(Expr: string, Domain: string, Criteria?: string): number | null; + DVar(Expr: string, Domain: string, Criteria?: string): number | null; + DVarP(Expr: string, Domain: string, Criteria?: string): number | null; - /** @param string [bstrStatusBarText=''] */ + /** @param bstrStatusBarText [bstrStatusBarText=''] */ Echo(EchoOn: number, bstrStatusBarText?: string): void; - EuroConvert(Number: number, SourceCurrency: string, TargetCurrency: string, FullPrecision?: any, TriangulationPrecision?: any): number; + EuroConvert(Number: number, SourceCurrency: string, TargetCurrency: string, FullPrecision?: boolean, TriangulationPrecision?: number): number; Eval(StringExpr: string): any; /** - * @param boolean [SelectedRecords=false] - * @param number [FromPage=1] - * @param number [ToPage=-1] + * @param SelectedRecords [SelectedRecords=false] + * @param FromPage [FromPage=1] + * @param ToPage [ToPage=-1] */ - ExportCustomFixedFormat( - ExternalExporter: any, OutputFileName: string, ObjectName: string, ObjectType: AcOutputObjectType, SelectedRecords?: boolean, FromPage?: number, ToPage?: number): void; + ExportCustomFixedFormat(ExternalExporter: any, OutputFileName: string, ObjectName: string, ObjectType: AcOutputObjectType, SelectedRecords?: boolean, FromPage?: number, ToPage?: number): void; ExportNavigationPane(Path: string): void; /** - * @param string [DataTarget=''] - * @param string [SchemaTarget=''] - * @param string [PresentationTarget=''] - * @param string [ImageTarget=''] - * @param Access.AcExportXMLEncoding [Encoding=0] - * @param Access.AcExportXMLOtherFlags [OtherFlags=0] - * @param string [WhereCondition=''] + * @param DataTarget [DataTarget=''] + * @param SchemaTarget [SchemaTarget=''] + * @param PresentationTarget [PresentationTarget=''] + * @param ImageTarget [ImageTarget=''] + * @param Encoding [Encoding=0] + * @param OtherFlags [OtherFlags=0] + * @param WhereCondition [WhereCondition=''] */ - ExportXML( - ObjectType: AcExportXMLObjectType, DataSource: string, DataTarget?: string, SchemaTarget?: string, PresentationTarget?: string, ImageTarget?: string, - Encoding?: AcExportXMLEncoding, OtherFlags?: AcExportXMLOtherFlags, WhereCondition?: string, AdditionalData?: any): void; + ExportXML(ObjectType: AcExportXMLObjectType, DataSource: string, DataTarget?: string, SchemaTarget?: string, PresentationTarget?: string, ImageTarget?: string, Encoding?: AcExportXMLEncoding, OtherFlags?: AcExportXMLOtherFlags, WhereCondition?: string, AdditionalData?: AdditionalData): void; /** - * @param string [DataTarget=''] - * @param string [SchemaTarget=''] - * @param string [PresentationTarget=''] - * @param string [ImageTarget=''] - * @param Access.AcExportXMLEncoding [Encoding=0] - * @param number [OtherFlags=0] + * @param DataTarget [DataTarget=''] + * @param SchemaTarget [SchemaTarget=''] + * @param PresentationTarget [PresentationTarget=''] + * @param ImageTarget [ImageTarget=''] + * @param Encoding [Encoding=0] + * @param OtherFlags [OtherFlags=0] */ - ExportXMLOld( - ObjectType: AcExportXMLObjectType, DataSource: string, DataTarget?: string, SchemaTarget?: string, PresentationTarget?: string, ImageTarget?: string, - Encoding?: AcExportXMLEncoding, OtherFlags?: number): void; + ExportXMLOld(ObjectType: AcExportXMLObjectType, DataSource: string, DataTarget?: string, SchemaTarget?: string, PresentationTarget?: string, ImageTarget?: string, Encoding?: AcExportXMLEncoding, OtherFlags?: number): void; FeatureInstall: Office.MsoFeatureInstall; FileDialog(dialogType: Office.MsoFileDialogType): Office.FileDialog; readonly FileSearch: Office.FileSearch; /** - * @param string [SubAddress=''] - * @param boolean [NewWindow=false] - * @param boolean [AddHistory=true] - * @param Office.MsoExtraInfoMethod [Method=0] - * @param string [HeaderInfo=''] + * @param SubAddress [SubAddress=''] + * @param NewWindow [NewWindow=false] + * @param AddHistory [AddHistory=true] + * @param Method [Method=0] + * @param HeaderInfo [HeaderInfo=''] */ - FollowHyperlink(Address: string, SubAddress?: string, NewWindow?: boolean, AddHistory?: boolean, ExtraInfo?: any, Method?: Office.MsoExtraInfoMethod, HeaderInfo?: string): void; + FollowHyperlink(Address: string, SubAddress?: string, NewWindow?: boolean, AddHistory?: boolean, ExtraInfo?: string | ByteArray, Method?: Office.MsoExtraInfoMethod, HeaderInfo?: string): void; readonly Forms: Forms; GetHiddenAttribute(ObjectType: AcObjectType, ObjectName: string): boolean; - GetOption(OptionName: string): any; - GUIDFromString(String: any): any; - HtmlEncode(PlainText: any, Length?: any): string; + + /** + * Returns different types of values based on how the options are set: + * * If by selecting / clearing a checkbox, returns `boolean` + * * If by typing a string or numeric value, returns `string` or `number` + * * If by choosing from a list, will return the 0-based index of the selected item + */ + GetOption(OptionName: string): boolean | string | number; + GUIDFromString(String: string): ByteArray; + HtmlEncode(PlainText: string, Length?: number): string; hWndAccessApp(): number; - /** @param Access.AcHyperlinkPart [Part=0] */ + /** @param Part [Part=0] */ HyperlinkPart(Hyperlink: any, Part?: AcHyperlinkPart): string; - /** @param boolean [fAppendOnly=false] */ + /** @param fAppendOnly [fAppendOnly=false] */ ImportNavigationPane(Path: string, fAppendOnly?: boolean): void; - /** @param Access.AcImportXMLOption [ImportOptions=1] */ + /** @param ImportOptions [ImportOptions=1] */ ImportXML(DataSource: string, ImportOptions?: AcImportXMLOption): void; InsertText(Text: string, ModuleName: string): void; InstantiateTemplate(Path: string): void; @@ -3072,36 +3001,36 @@ declare namespace Access { readonly Modules: Modules; readonly MsoDebugOptions: Office.MsoDebugOptions; readonly Name: string; - NewAccessProject(filepath: string, Connect?: any): void; + NewAccessProject(filepath: string, Connect?: string): void; /** - * @param Access.AcNewDatabaseFormat [FileFormat=0] - * @param string [SiteAddress=''] - * @param string [ListID=''] + * @param FileFormat [FileFormat=0] + * @param SiteAddress [SiteAddress=''] + * @param ListID [ListID=''] */ - NewCurrentDatabase(filepath: string, FileFormat?: AcNewDatabaseFormat, Template?: any, SiteAddress?: string, ListID?: string): void; + NewCurrentDatabase(filepath: string, FileFormat?: AcNewDatabaseFormat, Template?: string, SiteAddress?: string, ListID?: string): void; NewCurrentDatabaseOld(filepath: string): void; readonly NewFileTaskPane: Office.NewFile; Nz(Value: any, ValueIfNull?: any): any; - /** @param boolean [Exclusive=false] */ + /** @param Exclusive [Exclusive=false] */ OpenAccessProject(filepath: string, Exclusive?: boolean): void; /** - * @param boolean [Exclusive=false] - * @param string [bstrPassword=''] + * @param Exclusive [Exclusive=false] + * @param bstrPassword [bstrPassword=''] */ OpenCurrentDatabase(filepath: string, Exclusive?: boolean, bstrPassword?: string): void; - /** @param boolean [Exclusive=false] */ + /** @param Exclusive [Exclusive=false] */ OpenCurrentDatabaseOld(filepath: string, Exclusive?: boolean): void; readonly Parent: any; - PlainText(RichText: any, Length?: any): string; + PlainText(RichText: string, Length?: number): string; Printer: Printer; readonly Printers: Printers; readonly ProductCode: string; - /** @param Access.AcQuitOption [Option=1] */ + /** @param Option [Option=1] */ Quit(Option?: AcQuitOption): void; readonly References: References; RefreshDatabaseWindow(): void; @@ -3110,29 +3039,35 @@ declare namespace Access { ReplaceModule(objtyp: number, ModuleName: string, FileName: string, token: number): void; readonly Reports: Reports; readonly ReturnVars: ReturnVars; - Run( - Procedure: string, Arg1?: any, Arg2?: any, Arg3?: any, Arg4?: any, Arg5?: any, Arg6?: any, Arg7?: any, Arg8?: any, Arg9?: any, Arg10?: any, Arg11?: any, - Arg12?: any, Arg13?: any, Arg14?: any, Arg15?: any, Arg16?: any, Arg17?: any, Arg18?: any, Arg19?: any, Arg20?: any, Arg21?: any, Arg22?: any, Arg23?: any, - Arg24?: any, Arg25?: any, Arg26?: any, Arg27?: any, Arg28?: any, Arg29?: any, Arg30?: any): any; + Run(Procedure: string, Arg1?: any, Arg2?: any, Arg3?: any, Arg4?: any, Arg5?: any, Arg6?: any, Arg7?: any, Arg8?: any, Arg9?: any, Arg10?: any, Arg11?: any, Arg12?: any, Arg13?: any, Arg14?: any, Arg15?: any, Arg16?: any, Arg17?: any, Arg18?: any, Arg19?: any, Arg20?: any, Arg21?: any, Arg22?: any, Arg23?: any, Arg24?: any, Arg25?: any, Arg26?: any, Arg27?: any, Arg28?: any, Arg29?: any, Arg30?: any): any; RunCommand(Command: AcCommand): void; SaveAsAXL(ObjectType: AcObjectType, ObjectName: string, FileName: string): void; - SaveAsTemplate( - Path: string, Title: string, IconPath: string, CoreTable: string, Category: string, PreviewPath?: any, Description?: any, InstantiationForm?: any, - ApplicationPart?: any, IncludeData?: any, Variation?: any): void; + SaveAsTemplate(Path: string, Title: string, IconPath: string, CoreTable: string, Category: string, PreviewPath?: any, Description?: string, InstantiationForm?: string, ApplicationPart?: boolean, IncludeData?: boolean, Variation?: any): void; SaveAsText(ObjectType: AcObjectType, ObjectName: string, FileName: string): void; readonly Screen: Screen; SetDefaultWorkgroupFile(Path: string): void; SetHiddenAttribute(ObjectType: AcObjectType, ObjectName: string, fHidden: boolean): void; - SetOption(OptionName: string, Setting: any): void; + + /** + * Pass different types of values based on how the option is set in the UI + * * If by selecting / clearing a checkbox, pass a `boolean` + * * If by typing a string or numeric value, pass a `string` or `number` + * * If by choosing from a list, pass the 0-based index of the tiem to select + */ + SetOption(OptionName: string, Setting: boolean | string | number): void; SetUndoRecording(yesno: number): void; ShortcutMenuBar: string; - StringFromGUID(Guid: any): any; - SysCmd(Action: AcSysCmdAction, Argument2?: any, Argument3?: any): any; + StringFromGUID(Guid: ByteArray): string; + SysCmd(Action: AcSysCmdAction.acSysCmdInitMeter, StatusText: string, MaxValue: number): null; + SysCmd(Action: AcSysCmdAction.acSysCmdUpdateMeter, CurrentValue: number): null; + SysCmd(Action: AcSysCmdAction.acSysCmdSetStatus, StatusText: string): null; + SysCmd(Action: AcSysCmdAction.acSysCmdGetObjectState, Argument2: AcObjectType, Argument3: string): Constants.acObjStateDirty | Constants.acObjStateNew | Constants.acObjStateOpen; + SysCmd(Acton: AcSysCmdAction.acSysCmdAccessDir | AcSysCmdAction.acSysCmdAccessVer | AcSysCmdAction.acSysCmdClearHelpTopic | AcSysCmdAction.acSysCmdClearStatus | AcSysCmdAction.acSysCmdGetWorkgroupFile | AcSysCmdAction.acSysCmdIniFile | AcSysCmdAction.acSysCmdProfile | AcSysCmdAction.acSysCmdRemoveMeter | AcSysCmdAction.acSysCmdRuntime): null; readonly TempVars: TempVars; /** - * @param boolean [WellFormedXMLOutput=false] - * @param Access.AcTransformXMLScriptOption [ScriptOption=1] + * @param WellFormedXMLOutput [WellFormedXMLOutput=false] + * @param ScriptOption [ScriptOption=1] */ TransformXML(DataSource: string, TransformSource: string, OutputTarget: string, WellFormedXMLOutput?: boolean, ScriptOption?: AcTransformXMLScriptOption): void; UserControl: boolean; @@ -3206,9 +3141,9 @@ declare namespace Access { Enabled: boolean; EventProcPrefix: string; FileData(var_0?: any): any; - FileName(var_0?: any): string; - FileType(var_0?: any): string; - FileURL(var_0?: any): string; + FileName(var_0?: number | string): string; + FileType(var_0?: number | string): string; + FileURL(var_0?: number | string): string; Forward(): void; Goto(): void; GridlineColor: number; @@ -3238,7 +3173,7 @@ declare namespace Access { Left: number; LeftPadding: number; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: null): void; Name: string; OldBorderStyle: number; readonly OldValue: any; @@ -3390,7 +3325,7 @@ declare namespace Access { LeftPadding: number; Locked: boolean; LpOleObject: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; readonly Object: any; ObjectPalette: any; @@ -3533,7 +3468,7 @@ declare namespace Access { Left: number; LeftPadding: number; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; OldBorderStyle: number; readonly OldValue: any; @@ -3588,12 +3523,13 @@ declare namespace Access { Width: number; } - class Children { - private 'Access.Children_typekey': Children; - private constructor(); + interface Children { readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): any; + // tslint:disable-next-line:no-unnecessary-generics + Item(Index: number | string): T; + // tslint:disable-next-line:no-unnecessary-generics + (Index: number | string): T; } class Class { @@ -3604,12 +3540,12 @@ declare namespace Access { class CodeData { private 'Access.CodeData_typekey': CodeData; private constructor(); - readonly AllDatabaseDiagrams: AllDatabaseDiagrams; - readonly AllFunctions: AllFunctions; - readonly AllQueries: AllQueries; - readonly AllStoredProcedures: AllStoredProcedures; - readonly AllTables: AllTables; - readonly AllViews: AllViews; + readonly AllDatabaseDiagrams: AccessObjects; + readonly AllFunctions: AccessObjects; + readonly AllQueries: AccessObjects; + readonly AllStoredProcedures: AccessObjects; + readonly AllTables: AccessObjects; + readonly AllViews: AccessObjects; IsMemberSafe(dispid: number): boolean; } @@ -3618,11 +3554,11 @@ declare namespace Access { private constructor(); readonly AccessConnection: ADODB.Connection; AddSharedImage(SharedImageName: string, FileName: string): void; - readonly AllDataAccessPages: AllDataAccessPages; - readonly AllForms: AllForms; - readonly AllMacros: AllMacros; - readonly AllModules: AllModules; - readonly AllReports: AllReports; + readonly AllDataAccessPages: AccessObjects; + readonly AllForms: AccessObjects; + readonly AllMacros: AccessObjects; + readonly AllModules: AccessObjects; + readonly AllReports: AccessObjects; readonly Application: Application; readonly BaseConnectionString: string; CloseConnection(): void; @@ -3635,7 +3571,7 @@ declare namespace Access { readonly IsTrusted: boolean; readonly IsWeb: boolean; readonly Name: string; - OpenConnection(BaseConnectionString?: any, UserID?: any, Password?: any): void; + OpenConnection(BaseConnectionString?: string, UserID?: string, Password?: string): void; readonly Parent: any; readonly Path: string; readonly ProjectType: AcProjectType; @@ -3671,7 +3607,7 @@ declare namespace Access { accState(varChild?: any): any; accValue(varChild?: any): string; AddColon: boolean; - AddItem(Item: string, Index?: any): void; + AddItem(Item: string, Index?: number): void; AfterUpdate: string; AfterUpdateMacro: string; AllowAutoCorrect: boolean; @@ -3700,7 +3636,7 @@ declare namespace Access { CanGrow: boolean; CanShrink: boolean; Coltyp: number; - Column(Index: number, Row?: any): any; + Column(Index: number, Row?: number): any; ColumnCount: number; ColumnHeads: boolean; ColumnHidden: boolean; @@ -3777,7 +3713,7 @@ declare namespace Access { ListRows: number; ListWidth: string; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; NumeralShapes: number; OldBorderStyle: number; @@ -3815,8 +3751,8 @@ declare namespace Access { readonly Parent: any; readonly Properties: Properties; ReadingOrder: number; - Recordset: any; - RemoveItem(Index: any): void; + Recordset: DAO.Recordset | ADODB.Recordset; + RemoveItem(Index: number | string): void; Requery(): void; RightMargin: number; RightPadding: number; @@ -3961,7 +3897,7 @@ declare namespace Access { readonly LayoutID: number; Left: number; LeftPadding: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; ObjectPalette: any; readonly OldValue: any; @@ -4039,7 +3975,7 @@ declare namespace Access { _Name: string; readonly Application: Application; BottomPadding: number; - Column(Index: number, Row?: any): any; + Column(Index: number, Row?: number): any; readonly Controls: Children; Dropdown(): void; readonly Form: Form; @@ -4061,7 +3997,7 @@ declare namespace Access { readonly Layout: AcLayoutType; readonly LayoutID: number; LeftPadding: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; readonly Object: any; ObjectVerbs(Index: number): string; @@ -4081,27 +4017,26 @@ declare namespace Access { VerticalAnchor: AcVerticalAnchor; } - class Controls { - private 'Access.Controls_typekey': Controls; - private constructor(); + interface Controls { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; // tslint:disable-next-line:no-unnecessary-generics - Item(index: number | string): T; - Item(Index: number | string): Control; + Item(Index: number | string): T; readonly Parent: any; + // tslint:disable-next-line:no-unnecessary-generics + (Index: number | string): T; } class CurrentData { private 'Access.CurrentData_typekey': CurrentData; private constructor(); - readonly AllDatabaseDiagrams: AllDatabaseDiagrams; - readonly AllFunctions: AllFunctions; - readonly AllQueries: AllQueries; - readonly AllStoredProcedures: AllStoredProcedures; - readonly AllTables: AllTables; - readonly AllViews: AllViews; + readonly AllDatabaseDiagrams: AccessObjects; + readonly AllFunctions: AccessObjects; + readonly AllQueries: AccessObjects; + readonly AllStoredProcedures: AccessObjects; + readonly AllTables: AccessObjects; + readonly AllViews: AccessObjects; IsMemberSafe(dispid: number): boolean; } @@ -4110,11 +4045,11 @@ declare namespace Access { private constructor(); readonly AccessConnection: ADODB.Connection; AddSharedImage(SharedImageName: string, FileName: string): void; - readonly AllDataAccessPages: AllDataAccessPages; - readonly AllForms: AllForms; - readonly AllMacros: AllMacros; - readonly AllModules: AllModules; - readonly AllReports: AllReports; + readonly AllDataAccessPages: AccessObjects; + readonly AllForms: AccessObjects; + readonly AllMacros: AccessObjects; + readonly AllModules: AccessObjects; + readonly AllReports: AccessObjects; readonly Application: Application; readonly BaseConnectionString: string; CloseConnection(): void; @@ -4127,7 +4062,7 @@ declare namespace Access { readonly IsTrusted: boolean; readonly IsWeb: boolean; readonly Name: string; - OpenConnection(BaseConnectionString?: any, UserID?: any, Password?: any): void; + OpenConnection(BaseConnectionString?: string, UserID?: string, Password?: string): void; readonly Parent: any; readonly Path: string; readonly ProjectType: AcProjectType; @@ -4206,7 +4141,7 @@ declare namespace Access { LeftPadding: number; Locked: boolean; LpOleObject: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; readonly Object: any; ObjectPalette: any; @@ -4271,14 +4206,13 @@ declare namespace Access { readonly WindowWidth: number; } - class DataAccessPages { - private 'Access.DataAccessPages_typekey': DataAccessPages; - private constructor(); + interface DataAccessPages { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; Item(var_0: any): DataAccessPage; readonly Parent: any; + (var_0: any): DataAccessPage; } class DefaultWebOptions { @@ -4313,192 +4247,231 @@ declare namespace Access { readonly UnsupportedObjects: DependencyObjects; } - class DependencyObjects { - private 'Access.DependencyObjects_typekey': DependencyObjects; - private constructor(); + interface DependencyObjects { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): AccessObject; + Item(Index: number | string): AccessObject; readonly Parent: any; + (Index: number | string): AccessObject; } class DoCmd { private 'Access.DoCmd_typekey': DoCmd; private constructor(); - AddMenu(MenuName: any, MenuMacroName: any, StatusBarText?: any): void; - ApplyFilter(FilterName?: any, WhereCondition?: any, ControlName?: any): void; - ApplyFilterOld0(FilterName?: any, WhereCondition?: any): void; + AddMenu(MenuName: string, MenuMacroName: string, StatusBarText?: string): void; + ApplyFilter(FilterName?: string, WhereCondition?: string, ControlName?: any): void; + ApplyFilterOld0(FilterName?: string, WhereCondition?: string): void; Beep(): void; - /** @param Access.AcFormOpenDataMode [DataMode=1] */ - BrowseTo(ObjectType: AcBrowseToObjectType, ObjectName: any, PathtoSubformControl: any, WhereCondition: any, Page: any, DataMode?: AcFormOpenDataMode): void; + /** @param DataMode [DataMode=1] */ + BrowseTo(ObjectType: AcBrowseToObjectType, ObjectName: string, PathtoSubformControl?: string, WhereCondition?: string, Page?: string, DataMode?: AcFormOpenDataMode): void; CancelEvent(): void; ClearMacroError(): void; /** - * @param Access.AcObjectType [ObjectType=-1] - * @param Access.AcCloseSave [Save=0] + * @param ObjectType [ObjectType=-1] + * @param Save [Save=0] */ - Close(ObjectType: AcObjectType, ObjectName: any, Save?: AcCloseSave): void; + Close(ObjectType: AcObjectType, ObjectName: string, Save?: AcCloseSave): void; Close(): void; CloseDatabase(): void; - CopyDatabaseFile(DatabaseFileName: any, OverwriteExistingFile?: any, DisconnectAllUsers?: any): void; + CopyDatabaseFile(DatabaseFileName: string, OverwriteExistingFile?: boolean, DisconnectAllUsers?: boolean): void; - /** @param Access.AcObjectType [SourceObjectType=-1] */ - CopyObject(DestinationDatabase: any, NewName: any, SourceObjectType?: AcObjectType, SourceObjectName?: any): void; + /** @param SourceObjectType [SourceObjectType=-1] */ + CopyObject(DestinationDatabase: string, NewName: string, SourceObjectType?: AcObjectType, SourceObjectName?: string): void; - /** @param Access.AcObjectType [ObjectType=-1] */ - DeleteObject(ObjectType?: AcObjectType, ObjectName?: any): void; - DoMenuItem(MenuBar: any, MenuName: any, Command: any, Subcommand?: any, Version?: any): void; - Echo(EchoOn: any, StatusBarText?: any): void; + /** @param ObjectType [ObjectType=-1] */ + DeleteObject(ObjectType?: AcObjectType, ObjectName?: string): void; + + /** @deprecated Use the **RunCommand** method */ + DoMenuItem(MenuBar: Constants.acFormBar | number, MenuName: Constants.acFile | Constants.acEditMenu | Constants.acRecordsMenu | number, Command: Constants.acNew | Constants.acSaveForm | Constants.acSaveFormAs | Constants.acSaveRecord | Constants.acUndo | Constants.acCut | Constants.acCopy | Constants.acPaste | Constants.acDelete | Constants.acSelectRecord | Constants.acSelectAllRecords | Constants.acRefresh | number, Subcommand?: Constants.acObjectVerb | Constants.acObjectUpdate | number, Version?: Constants.acMenuVer70 | Constants.acMenuVer20 | Constants.acMenuVer1X): void; + Echo(EchoOn: boolean, StatusBarText?: string): void; FindNext(): void; /** - * @param Access.AcFindMatch [Match=1] - * @param Access.AcSearchDirection [Search=2] - * @param Access.AcFindField [OnlyCurrentField=-1] + * @param Match [Match=1] + * @param MatchCase [MatchCase=false] + * @param Search [Search=2] + * @param SearchAsFormatted [SearchAsFormatted=false] + * @param OnlyCurrentField [OnlyCurrentField=-1] */ - FindRecord(FindWhat: any, Match?: AcFindMatch, MatchCase?: any, Search?: AcSearchDirection, SearchAsFormatted?: any, OnlyCurrentField?: AcFindField, FindFirst?: any): void; - GoToControl(ControlName: any): void; - GoToPage(PageNumber: any, Right?: any, Down?: any): void; + FindRecord(FindWhat: string | number | VarDate, Match?: AcFindMatch, MatchCase?: boolean, Search?: AcSearchDirection, SearchAsFormatted?: boolean, OnlyCurrentField?: AcFindField, FindFirst?: boolean): void; + GoToControl(ControlName: string): void; + GoToPage(PageNumber: number, Right?: number, Down?: number): void; /** - * @param Access.AcDataObjectType [ObjectType=-1] - * @param Access.AcRecord [Record=1] + * @param ObjectType [ObjectType=-1] + * @param Record [Record=1] */ - GoToRecord(ObjectType?: AcDataObjectType, ObjectName?: any, Record?: AcRecord, Offset?: any): void; - Hourglass(HourglassOn: any): void; - LockNavigationPane(Lock: any): void; + GoToRecord(ObjectType?: AcDataObjectType, ObjectName?: string, Record?: AcRecord.acFirst | AcRecord.acLast | AcRecord.acNewRec): void; + + /** + * @param ObjectType [ObjectType=-1] + * @param Record [Record=1] + */ + GoToRecord(ObjectType?: AcDataObjectType, ObjectName?: string, Record?: AcRecord, Offset?: AcRecord.acNext | AcRecord.acPrevious | AcRecord.acGoTo): void; + Hourglass(HourglassOn: boolean): void; + LockNavigationPane(Lock: boolean): void; Maximize(): void; Minimize(): void; - MoveSize(Right?: any, Down?: any, Width?: any, Height?: any): void; + MoveSize(Right?: number, Down?: number, Width?: number, Height?: number): void; NavigateTo(Category?: any, Group?: any): void; - /** @param Access.AcDataAccessPageView [View=0] */ - OpenDataAccessPage(DataAccessPageName: any, View?: AcDataAccessPageView): void; - OpenDiagram(DiagramName: any): void; + /** @param View [View=0] */ + OpenDataAccessPage(DataAccessPageName: string, View?: AcDataAccessPageView): void; + OpenDiagram(DiagramName: string): void; /** - * @param Access.AcFormView [View=0] - * @param Access.AcFormOpenDataMode [DataMode=-1] - * @param Access.AcWindowMode [WindowMode=0] + * @param View [View=0] + * @param DataMode [DataMode=-1] + * @param WindowMode [WindowMode=0] */ - OpenForm(FormName: any, View?: AcFormView, FilterName?: string, WhereCondition?: string, DataMode?: AcFormOpenDataMode, WindowMode?: AcWindowMode, OpenArgs?: string): void; + OpenForm(FormName: string, View?: AcFormView, FilterName?: string, WhereCondition?: string, DataMode?: AcFormOpenDataMode, WindowMode?: AcWindowMode, OpenArgs?: string): void; /** - * @param Access.AcView [View=0] - * @param Access.AcOpenDataMode [DataMode=1] + * @param View [View=0] + * @param DataMode [DataMode=1] */ - OpenFunction(FunctionName: any, View?: AcView, DataMode?: AcOpenDataMode): void; - OpenModule(ModuleName?: any, ProcedureName?: any): void; + OpenFunction(FunctionName: string, View?: AcView, DataMode?: AcOpenDataMode): void; + OpenModule(ModuleName?: string, ProcedureName?: string): void; /** - * @param Access.AcView [View=0] - * @param Access.AcOpenDataMode [DataMode=1] + * @param View [View=0] + * @param DataMode [DataMode=1] */ - OpenQuery(QueryName: any, View?: AcView, DataMode?: AcOpenDataMode): void; + OpenQuery(QueryName: string, View?: AcView, DataMode?: AcOpenDataMode): void; /** - * @param Access.AcView [View=0] - * @param Access.AcWindowMode [WindowMode=0] + * @param View [View=0] + * @param WindowMode [WindowMode=0] */ - OpenReport(ReportName: any, View?: AcView, FilterName?: string, WhereCondition?: string, WindowMode?: AcWindowMode, OpenArgs?: string): void; + OpenReport(ReportName: string, View?: AcView, FilterName?: string, WhereCondition?: string, WindowMode?: AcWindowMode, OpenArgs?: string): void; - /** @param Access.AcView [View=0] */ + /** @param View [View=0] */ OpenReportOld0(ReportName: any, View?: AcView, FilterName?: any, WhereCondition?: any): void; /** - * @param Access.AcView [View=0] - * @param Access.AcOpenDataMode [DataMode=1] + * @param View [View=0] + * @param DataMode [DataMode=1] */ - OpenStoredProcedure(ProcedureName: any, View?: AcView, DataMode?: AcOpenDataMode): void; + OpenStoredProcedure(ProcedureName: string, View?: AcView, DataMode?: AcOpenDataMode): void; /** - * @param Access.AcView [View=0] - * @param Access.AcOpenDataMode [DataMode=1] + * @param View [View=0] + * @param DataMode [DataMode=1] */ - OpenTable(TableName: any, View?: AcView, DataMode?: AcOpenDataMode): void; + OpenTable(TableName: string, View?: AcView, DataMode?: AcOpenDataMode): void; /** - * @param Access.AcView [View=0] - * @param Access.AcOpenDataMode [DataMode=1] + * @param View [View=0] + * @param DataMode [DataMode=1] */ - OpenView(ViewName: any, View?: AcView, DataMode?: AcOpenDataMode): void; + OpenView(ViewName: string, View?: AcView, DataMode?: AcOpenDataMode): void; - /** @param Access.AcExportQuality [OutputQuality=0] */ - OutputTo(ObjectType: AcOutputObjectType, ObjectName: any, OutputFormat: any, OutputFile: any, AutoStart: any, TemplateFile: any, Encoding: any, OutputQuality?: AcExportQuality): void; + /** @param OutputQuality [OutputQuality=0] */ + OutputTo(ObjectType: AcOutputObjectType.acOutputModule, ObjectName: string, OutputFormat: AcOutputFormat.acFormatTXT, OutputFile: string, AutoStart: boolean, TemplateFile: string, Encoding: any, OutputQuality?: AcExportQuality): void; + + /** @param OutputQuality [OutputQuality=0] */ + OutputTo(ObjectType: AcOutputObjectType, ObjectName?: string, OutputFormat?: AcOutputFormat, OutputFile?: string, AutoStart?: boolean, TemplateFile?: string, Encoding?: any, OutputQuality?: AcExportQuality): void; OutputToOld0(ObjectType: AcOutputObjectType, ObjectName?: any, OutputFormat?: any, OutputFile?: any, AutoStart?: any, TemplateFile?: any): void; OutputToOld1(ObjectType: AcOutputObjectType, ObjectName?: any, OutputFormat?: any, OutputFile?: any, AutoStart?: any, TemplateFile?: any, Encoding?: any): void; /** - * @param Access.AcPrintRange [PrintRange=0] - * @param Access.AcPrintQuality [PrintQuality=0] + * @param PrintRange [PrintRange=0] + * @param PrintQuality [PrintQuality=0] + * @param Copies [Copies=1] + * @param CollateCopies [CollateCopies=true] */ - PrintOut(PrintRange?: AcPrintRange, PageFrom?: any, PageTo?: any, PrintQuality?: AcPrintQuality, Copies?: any, CollateCopies?: any): void; + PrintOut(PrintRange: AcPrintRange.acPages, PageFrom?: number, PageTo?: number, PrintQuality?: AcPrintQuality, Copies?: number, CollateCopies?: boolean): void; - /** @param Access.AcQuitOption [Options=1] */ + /** + * @param PrintRange [PrintRange=0] + * @param PrintQuality [PrintQuality=0] + * @param Copies [Copies=1] + * @param CollateCopies [CollateCopies=true] + */ + PrintOut(PrintRange?: AcPrintRange, PageFrom?: undefined, PageTo?: undefined, PrintQuality?: AcPrintQuality, Copies?: number, CollateCopies?: boolean): void; + + /** @param Options [Options=1] */ Quit(Options?: AcQuitOption): void; RefreshRecord(): void; - /** @param Access.AcObjectType [ObjectType=-1] */ - Rename(NewName: any, ObjectType?: AcObjectType, OldName?: any): void; + /** @param ObjectType [ObjectType=-1] */ + Rename(NewName: string, ObjectType: AcObjectType, OldName: string): void; + Rename(NewName: string): void; - /** @param Access.AcObjectType [ObjectType=-1] */ - RepaintObject(ObjectType?: AcObjectType, ObjectName?: any): void; - Requery(ControlName?: any): void; + /** @param ObjectType [ObjectType=-1] */ + RepaintObject(ObjectType: AcObjectType, ObjectName: string): void; + RepaintObject(): void; + + Requery(ControlName?: string): void; Restore(): void; RunCommand(Command: AcCommand): void; - RunDataMacro(MacroName: any): void; - RunMacro(MacroName: any, RepeatCount?: any, RepeatExpression?: any): void; - RunSavedImportExport(SavedImportExportName: any): void; - RunSQL(SQLStatement: any, UseTransaction?: any): void; + RunDataMacro(MacroName: string): void; + RunMacro(MacroName: string, RepeatCount?: number, RepeatExpression?: string): void; + RunSavedImportExport(SavedImportExportName: string): void; + RunSQL(SQLStatement: string, UseTransaction?: boolean): void; - /** @param Access.AcObjectType [ObjectType=-1] */ - Save(ObjectType?: AcObjectType, ObjectName?: any): void; + /** @param ObjectType [ObjectType=-1] */ + Save(ObjectType: AcObjectType | undefined, ObjectName: string): void; + Save(): void; /** - * @param Access.AcDataObjectType [ObjectType=-1] - * @param Access.AcRecord [Record=2] + * @param ObjectType [ObjectType=-1] + * @param Record [Record=2] */ - SearchForRecord(ObjectType?: AcDataObjectType, ObjectName?: any, Record?: AcRecord, WhereCondition?: any): void; - SelectObject(ObjectType: AcObjectType, ObjectName?: any, InDatabaseWindow?: any): void; + SearchForRecord(ObjectType?: AcDataObjectType, ObjectName?: string, Record?: AcRecord, WhereCondition?: string): void; + SelectObject(ObjectType: AcObjectType, ObjectName: string | undefined, InDatabaseWindow: true): void; + SelectObject(ObjectType: AcObjectType, ObjectName: string): void; - /** @param Access.AcSendObjectType [ObjectType=-1] */ - SendObject( - ObjectType?: AcSendObjectType, ObjectName?: any, OutputFormat?: any, To?: any, Cc?: any, Bcc?: any, Subject?: any, MessageText?: any, EditMessage?: any, TemplateFile?: any): void; - SetDisplayedCategories(Show: any, Category?: any): void; - SetFilter(FilterName?: any, WhereCondition?: any, ControlName?: any): void; - SetMenuItem(MenuIndex: any, CommandIndex?: any, SubcommandIndex?: any, Flag?: any): void; - SetOrderBy(OrderBy: any, ControlName?: any): void; - SetParameter(Name: any, Expression: any): void; + /** @param ObjectType [ObjectType=-1] */ + SendObject(ObjectType?: AcSendObjectType, ObjectName?: string, OutputFormat?: AcOutputFormat, To?: string, Cc?: string, Bcc?: string, Subject?: string, MessageText?: string, EditMessage?: boolean, TemplateFile?: string): void; + SetDisplayedCategories(Show: boolean, Category?: string): void; + SetFilter(FilterName?: string, WhereCondition?: string, ControlName?: string): void; + SetMenuItem(MenuIndex: number, CommandIndex?: number, SubcommandIndex?: number, Flag?: AcSetMenuItemState): void; + SetOrderBy(OrderBy: string, ControlName?: string): void; + SetParameter(Name: string, Expression: any): void; - /** @param Access.AcProperty [Property=0] */ - SetProperty(ControlName: any, Property?: AcProperty, Value?: any): void; - SetWarnings(WarningsOn: any): void; + /** @param Property [Property=0] */ + SetProperty(ControlName: string, Property?: AcProperty, Value?: any): void; + SetWarnings(WarningsOn: boolean): void; ShowAllRecords(): void; - /** @param Access.AcShowToolbar [Show=0] */ - ShowToolbar(ToolbarName: any, Show?: AcShowToolbar): void; + /** @param Show [Show=0] */ + ShowToolbar(ToolbarName: string, Show?: AcShowToolbar): void; SingleStep(): void; /** - * @param Access.AcDataTransferType [TransferType=0] - * @param Access.AcObjectType [ObjectType=0] + * @param TransferType [TransferType=0] + * @param ObjectType [ObjectType=0] + * @param StructureOnly [StructureOnly=false\] + * @param StoreLogin [StoreLogin=false] */ - TransferDatabase( - TransferType?: AcDataTransferType, DatabaseType?: any, DatabaseName?: any, ObjectType?: AcObjectType, Source?: any, Destination?: any, StructureOnly?: any, StoreLogin?: any): void; - TransferSharePointList(TransferType: AcSharePointListTransferType, SiteAddress: any, ListID: any, ViewID?: any, TableName?: any, GetLookupDisplayValues?: any): void; + TransferDatabase(TransferType?: AcDataTransferType, DatabaseType?: DatabaseType, DatabaseName?: string, ObjectType?: AcObjectType, Source?: string, Destination?: string, StructureOnly?: boolean, StoreLogin?: boolean): void; + TransferSharePointList(TransferType: AcSharePointListTransferType, SiteAddress: string, ListID: string, ViewID?: string, TableName?: string, GetLookupDisplayValues?: boolean): void; /** - * @param Access.AcDataTransferType [TransferType=0] - * @param Access.AcSpreadSheetType [SpreadsheetType=10] + * @param TransferType [TransferType=0] + * @param SpreadsheetType [SpreadsheetType=10] + * @param HasFieldNames [HasFieldNames=false] */ - TransferSpreadsheet(TransferType?: AcDataTransferType, SpreadsheetType?: AcSpreadSheetType, TableName?: any, FileName?: any, HasFieldNames?: any, Range?: any, UseOA?: any): void; - TransferSQLDatabase(Server: any, Database: any, UseTrustedConnection?: any, Login?: any, Password?: any, TransferCopyData?: any): void; + TransferSpreadsheet(TransferType: AcDataTransferType.acImport, SpreadsheetType?: AcSpreadSheetType, TableName?: string, FileName?: string, HasFieldNames?: boolean, Range?: any): void; - /** @param Access.AcTextTransferType [TransferType=0] */ - TransferText(TransferType?: AcTextTransferType, SpecificationName?: any, TableName?: any, FileName?: any, HasFieldNames?: any, HTMLTableName?: any, CodePage?: any): void; + /** + * @param TransferType [TransferType=0] + * @param SpreadsheetType [SpreadsheetType=10] + * @param HasFieldNames [HasFieldNames=false] + */ + TransferSpreadsheet(TransferType?: AcDataTransferType, SpreadsheetType?: AcSpreadSheetType, TableName?: string, FileName?: string, HasFieldNames?: boolean): void; + TransferSQLDatabase(Server: string, Database: string, UseTrustedConnection?: boolean, Login?: string, Password?: string, TransferCopyData?: boolean): void; + + /** + * @param TransferType [TransferType=0] + * @param Encoding For valid values see https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx + */ + TransferText(TransferType?: AcTextTransferType.acExportHTML | AcTextTransferType.acImportHTML, SpecificationName?: string, TableName?: string, FileName?: string, HasFieldNames?: boolean, HTMLTableName?: string, CodePage?: number): void; + TransferText(TransferType?: AcTextTransferType, SpecificationName?: string, TableName?: string, FileName?: string, HasFieldNames?: boolean, HTMLTableName?: undefined, CodePage?: number): void; } class EmptyCell { @@ -4559,7 +4532,7 @@ declare namespace Access { readonly LayoutID: number; Left: number; LeftPadding: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; readonly Parent: any; readonly Properties: Properties; @@ -4577,13 +4550,12 @@ declare namespace Access { Width: number; } - class Entities { - private 'Access.Entities_typekey': Entities; - private constructor(); + interface Entities { readonly Count: number; IsMemberSafe(dispid: number): boolean; Item(Index: any): Entity; readonly Parent: any; + (Index: any): Entity; } class Entity { @@ -4671,7 +4643,7 @@ declare namespace Access { BeforeUpdateMacro: string; BeginBatchEdit: string; BeginBatchEditMacro: string; - Bookmark: any; + Bookmark: ADODB.Bookmark | DAO.Bookmark; BorderStyle: number; Caption: string; readonly ChartSpace: any; @@ -4732,8 +4704,8 @@ declare namespace Access { FrozenColumns: number; /** - * @param number [Right=0] - * @param number [Down=0] + * @param Right [Right=0] + * @param Down [Down=0] */ GoToPage(PageNumber: number, Right?: number, Down?: number): void; GridX: number; @@ -4760,7 +4732,7 @@ declare namespace Access { readonly Module: Module; MouseWheel: string; MouseWheelMacro: string; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Moveable: boolean; Name: string; NavigationButtons: boolean; @@ -4824,7 +4796,7 @@ declare namespace Access { OnUndoMacro: string; OnUnload: string; OnUnloadMacro: string; - OpenArgs: any; + OpenArgs: string; OrderBy: string; OrderByOn: boolean; OrderByOnLoad: boolean; @@ -4856,8 +4828,8 @@ declare namespace Access { Recalc(): void; RecordLocks: number; RecordSelectors: boolean; - Recordset: any; - readonly RecordsetClone: any; + Recordset: DAO.Recordset | ADODB.Recordset | null; + readonly RecordsetClone: DAO.Recordset | ADODB.Recordset; RecordsetType: number; RecordSource: string; RecordSourceQualifier: string; @@ -4870,7 +4842,7 @@ declare namespace Access { RollbackTransactionMacro: string; RowHeight: number; ScrollBars: number; - Section(Index: any): Section; + Section(Index: AcFormSection | string): Section; SectionOld(Index: any): Section; SelectionChange: string; SelectionChangeMacro: string; @@ -4932,8 +4904,15 @@ declare namespace Access { LongestBarLimit: AcFormatBarLimits; LongestBarValue: string; - /** @param Access.AcFormatConditionOperator [Operator=0] */ - Modify(Type: AcFormatConditionType, Operator?: AcFormatConditionOperator, Expression1?: any, Expression2?: any): void; + /** @param Operator [Operator=0] */ + Modify(Type: AcFormatConditionType.acExpression, Operator: undefined, Expression1: string | number | boolean): void; + + /** @param Operator [Operator=0] */ + Modify(Type: AcFormatConditionType, Operator: AcFormatConditionOperator.acBetween | AcFormatConditionOperator.acNotBetween, Expression1: string | number | boolean, Expression2: string | number | boolean): void; + + /** @param Operator [Operator=0] */ + Modify(Type: AcFormatConditionType, Operator?: AcFormatConditionOperator, Expression1?: string | number | boolean): void; + readonly Operator: AcFormatConditionOperator; ShortestBarLimit: AcFormatBarLimits; ShortestBarValue: string; @@ -4941,475 +4920,32 @@ declare namespace Access { readonly Type: AcFormatConditionType; } - class FormatConditions { - private 'Access.FormatConditions_typekey': FormatConditions; - private constructor(); + interface FormatConditions { + /** @param Operator [Operator=0] */ + Add(Type: AcFormatConditionType.acExpression, Operator: undefined, Expression1: string | number | boolean): FormatCondition; + + /** @param Operator [Operator=0] */ + Add(Type: AcFormatConditionType, Operator: AcFormatConditionOperator.acBetween | AcFormatConditionOperator.acNotBetween, Expression1: string | number | boolean, Expression2: string | number | boolean): FormatCondition; + + /** @param Operator [Operator=0] */ + Add(Type: AcFormatConditionType, Operator?: AcFormatConditionOperator, Expression1?: string | number | boolean): FormatCondition; - /** @param Access.AcFormatConditionOperator [Operator=0] */ - Add(Type: AcFormatConditionType, Operator?: AcFormatConditionOperator, Expression1?: any, Expression2?: any): FormatCondition; readonly Application: Application; readonly Count: number; Delete(): void; IsMemberSafe(dispid: number): boolean; - Item(Index: any): FormatCondition; + Item(Index: number): FormatCondition; readonly Parent: any; + (Index: number): FormatCondition; } - class FormOld { - private 'Access.FormOld_typekey': FormOld; - private constructor(); - _Evaluate(bstrExpr: string, ...ppsa: any[]): any; - _Name: string; - accChild(varChild: any): any; - readonly accChildCount: number; - accDefaultAction(varChild?: any): string; - accDescription(varChild?: any): string; - accDoDefaultAction(varChild?: any): void; - readonly accFocus: any; - accHelp(varChild?: any): string; - accHelpTopic(pszHelpFile: string, varChild?: any): number; - accHitTest(xLeft: number, yTop: number): any; - accKeyboardShortcut(varChild?: any): string; - accLocation(pxLeft: number, pyTop: number, pcxWidth: number, pcyHeight: number, varChild?: any): void; - accName(varChild?: any): string; - accNavigate(navDir: number, varStart?: any): any; - readonly accParent: any; - accRole(varChild?: any): any; - accSelect(flagsSelect: number, varChild?: any): void; - readonly accSelection: any; - accState(varChild?: any): any; - accValue(varChild?: any): string; - acHiddenCurrentPage: number; - readonly ActiveControl: Control; - AfterDelConfirm: string; - AfterInsert: string; - AfterUpdate: string; - AllowAdditions: boolean; - AllowDeletions: boolean; - AllowDesignChanges: boolean; - AllowEditing: boolean; - AllowEdits: boolean; - AllowFilters: boolean; - AllowUpdating: number; - readonly Application: Application; - AutoCenter: boolean; - AutoResize: boolean; - BeforeDelConfirm: string; - BeforeInsert: string; - BeforeUpdate: string; - Bookmark: any; - BorderStyle: number; - Caption: string; - CloseButton: boolean; - readonly ConnectControl: Control; - ConnectSynch: number; - ControlBox: boolean; - readonly Controls: Controls; - Count: number; - CurrentRecord: number; - CurrentSectionLeft: number; - CurrentSectionTop: number; - CurrentView: number; - Cycle: number; - DataEntry: boolean; - DatasheetBackColor: number; - DatasheetCellsEffect: number; - DatasheetFontHeight: number; - DatasheetFontItalic: boolean; - DatasheetFontName: string; - DatasheetFontUnderline: boolean; - DatasheetFontWeight: number; - DatasheetForeColor: number; - DatasheetGridlinesBehavior: number; - DatasheetGridlinesColor: number; - DefaultControl(ControlType: number): Control; - DefaultEditing: number; - DefaultView: number; - Dirty: boolean; - DividingLines: boolean; - readonly Dynaset: any; - FastLaserPrinting: boolean; - Filter: string; - FilterOn: boolean; - readonly Form: Form; - FormName: string; - FrozenColumns: number; - - /** - * @param number [Right=0] - * @param number [Down=0] - */ - GoToPage(PageNumber: number, Right?: number, Down?: number): void; - GridX: number; - GridY: number; - HasModule: boolean; - HelpContextId: number; - HelpFile: string; - Hwnd: number; - InputParameters: string; - InsideHeight: number; - InsideWidth: number; - KeyPreview: boolean; - LayoutForPrint: boolean; - LogicalPageHeight: number; - LogicalPageWidth: number; - MaxButton: boolean; - MaxRecButton: boolean; - MaxRecords: number; - MenuBar: string; - MinButton: boolean; - MinMaxButtons: number; - Modal: boolean; - readonly Module: Module; - Name: string; - NavigationButtons: boolean; - readonly NewRecord: number; - OnActivate: string; - OnApplyFilter: string; - OnClick: string; - OnClose: string; - OnCurrent: string; - OnDblClick: string; - OnDeactivate: string; - OnDelete: string; - OnDirty: string; - OnError: string; - OnFilter: string; - OnGotFocus: string; - OnInsert: string; - OnKeyDown: string; - OnKeyPress: string; - OnKeyUp: string; - OnLoad: string; - OnLostFocus: string; - OnMenu: string; - OnMouseDown: string; - OnMouseMove: string; - OnMouseUp: string; - OnOpen: string; - OnResize: string; - OnTimer: string; - OnUnload: string; - OpenArgs: any; - OrderBy: string; - OrderByOn: boolean; - Orientation: number; - Page: number; - Pages: number; - Painting: boolean; - PaintPalette: any; - PaletteSource: string; - readonly Parent: any; - Picture: string; - PictureAlignment: number; - PictureData: any; - PicturePalette: any; - PictureSizeMode: number; - PictureTiling: boolean; - PictureType: number; - PopUp: boolean; - readonly Properties: Properties; - PrtDevMode: any; - PrtDevNames: any; - PrtMip: any; - Recalc(): void; - RecordLocks: number; - RecordSelectors: boolean; - Recordset: any; - readonly RecordsetClone: any; - RecordsetType: number; - RecordSource: string; - Refresh(): void; - Repaint(): void; - Requery(): void; - ResyncCommand: string; - RowHeight: number; - ScrollBars: number; - Section(Index: any): Section; - SelHeight: number; - SelLeft: number; - SelTop: number; - SelWidth: number; - ServerFilter: string; - ServerFilterByForm: boolean; - SetFocus(): void; - ShortcutMenu: boolean; - ShortcutMenuBar: string; - ShowGrid: boolean; - SubdatasheetExpanded: boolean; - SubdatasheetHeight: number; - TabularCharSet: number; - TabularFamily: number; - Tag: string; - TimerInterval: number; - Toolbar: string; - Undo(): void; - UniqueTable: string; - ViewsAllowed: number; - Visible: boolean; - WhatsThisButton: boolean; - Width: number; - WindowHeight: number; - WindowWidth: number; - ZoomControl: number; - } - - class FormOldV10 { - private 'Access.FormOldV10_typekey': FormOldV10; - private constructor(); - _Evaluate(bstrExpr: string, ...ppsa: any[]): any; - _Name: string; - accChild(varChild: any): any; - readonly accChildCount: number; - accDefaultAction(varChild?: any): string; - accDescription(varChild?: any): string; - accDoDefaultAction(varChild?: any): void; - readonly accFocus: any; - accHelp(varChild?: any): string; - accHelpTopic(pszHelpFile: string, varChild?: any): number; - accHitTest(xLeft: number, yTop: number): any; - accKeyboardShortcut(varChild?: any): string; - accLocation(pxLeft: number, pyTop: number, pcxWidth: number, pcyHeight: number, varChild?: any): void; - accName(varChild?: any): string; - accNavigate(navDir: number, varStart?: any): any; - readonly accParent: any; - accRole(varChild?: any): any; - accSelect(flagsSelect: number, varChild?: any): void; - readonly accSelection: any; - accState(varChild?: any): any; - accValue(varChild?: any): string; - acHiddenCurrentPage: number; - readonly ActiveControl: Control; - AfterBeginTransaction: string; - AfterCommitTransaction: string; - AfterDelConfirm: string; - AfterFinalRender: string; - AfterInsert: string; - AfterLayout: string; - AfterRender: string; - AfterUpdate: string; - AllowAdditions: boolean; - AllowDatasheetView: boolean; - AllowDeletions: boolean; - AllowDesignChanges: boolean; - AllowEditing: boolean; - AllowEdits: boolean; - AllowFilters: boolean; - AllowFormView: boolean; - AllowPivotChartView: boolean; - AllowPivotTableView: boolean; - AllowUpdating: number; - readonly Application: Application; - AutoCenter: boolean; - AutoResize: boolean; - BatchUpdates: boolean; - BeforeBeginTransaction: string; - BeforeCommitTransaction: string; - BeforeDelConfirm: string; - BeforeInsert: string; - BeforeQuery: string; - BeforeRender: string; - BeforeScreenTip: string; - BeforeUpdate: string; - BeginBatchEdit: string; - Bookmark: any; - BorderStyle: number; - Caption: string; - readonly ChartSpace: any; - CloseButton: boolean; - CommandBeforeExecute: string; - CommandChecked: string; - CommandEnabled: string; - CommandExecute: string; - CommitOnClose: number; - CommitOnNavigation: boolean; - readonly ConnectControl: Control; - ConnectSynch: number; - ControlBox: boolean; - readonly Controls: Controls; - Count: number; - CurrentRecord: number; - CurrentSectionLeft: number; - CurrentSectionTop: number; - CurrentView: number; - Cycle: number; - DataChange: string; - DataEntry: boolean; - DataSetChange: string; - DatasheetBackColor: number; - DatasheetBorderLineStyle: number; - DatasheetCellsEffect: number; - DatasheetColumnHeaderUnderlineStyle: number; - DatasheetFontHeight: number; - DatasheetFontItalic: boolean; - DatasheetFontName: string; - DatasheetFontUnderline: boolean; - DatasheetFontWeight: number; - DatasheetForeColor: number; - DatasheetGridlinesBehavior: number; - DatasheetGridlinesColor: number; - DefaultControl(ControlType: number): Control; - DefaultEditing: number; - DefaultView: number; - Dirty: boolean; - DividingLines: boolean; - readonly Dynaset: any; - FastLaserPrinting: boolean; - FetchDefaults: boolean; - Filter: string; - FilterOn: boolean; - readonly Form: Form; - FormName: string; - FrozenColumns: number; - - /** - * @param number [Right=0] - * @param number [Down=0] - */ - GoToPage(PageNumber: number, Right?: number, Down?: number): void; - GridX: number; - GridY: number; - HasModule: boolean; - HelpContextId: number; - HelpFile: string; - HorizontalDatasheetGridlineStyle: number; - Hwnd: number; - InputParameters: string; - InsideHeight: number; - InsideWidth: number; - KeyPreview: boolean; - LayoutForPrint: boolean; - LogicalPageHeight: number; - LogicalPageWidth: number; - MaxButton: boolean; - MaxRecButton: boolean; - MaxRecords: number; - MenuBar: string; - MinButton: boolean; - MinMaxButtons: number; - Modal: boolean; - readonly Module: Module; - MouseWheel: string; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; - Moveable: boolean; - Name: string; - NavigationButtons: boolean; - readonly NewRecord: number; - OnActivate: string; - OnApplyFilter: string; - OnClick: string; - OnClose: string; - OnConnect: string; - OnCurrent: string; - OnDblClick: string; - OnDeactivate: string; - OnDelete: string; - OnDirty: string; - OnDisconnect: string; - OnError: string; - OnFilter: string; - OnGotFocus: string; - OnInsert: string; - OnKeyDown: string; - OnKeyPress: string; - OnKeyUp: string; - OnLoad: string; - OnLostFocus: string; - OnMenu: string; - OnMouseDown: string; - OnMouseMove: string; - OnMouseUp: string; - OnOpen: string; - OnRecordExit: string; - OnResize: string; - OnTimer: string; - OnUndo: string; - OnUnload: string; - OpenArgs: any; - OrderBy: string; - OrderByOn: boolean; - Orientation: number; - Page: number; - Pages: number; - Painting: boolean; - PaintPalette: any; - PaletteSource: string; - readonly Parent: any; - Picture: string; - PictureAlignment: number; - PictureData: any; - PicturePalette: any; - PictureSizeMode: number; - PictureTiling: boolean; - PictureType: number; - readonly PivotTable: any; - PivotTableChange: string; - PopUp: boolean; - Printer: Printer; - readonly Properties: Properties; - PrtDevMode: any; - PrtDevNames: any; - PrtMip: any; - Query: string; - Recalc(): void; - RecordLocks: number; - RecordSelectors: boolean; - Recordset: any; - readonly RecordsetClone: any; - RecordsetType: number; - RecordSource: string; - RecordSourceQualifier: string; - Refresh(): void; - Repaint(): void; - Requery(): void; - ResyncCommand: string; - RollbackTransaction: string; - RowHeight: number; - ScrollBars: number; - Section(Index: any): Section; - SelectionChange: string; - SelHeight: number; - SelLeft: number; - SelTop: number; - SelWidth: number; - ServerFilter: string; - ServerFilterByForm: boolean; - SetFocus(): void; - ShortcutMenu: boolean; - ShortcutMenuBar: string; - ShowGrid: boolean; - SubdatasheetExpanded: boolean; - SubdatasheetHeight: number; - TabularCharSet: number; - TabularFamily: number; - Tag: string; - TimerInterval: number; - Toolbar: string; - Undo(): void; - UndoBatchEdit: string; - UniqueTable: string; - UseDefaultPrinter: boolean; - VerticalDatasheetGridlineStyle: number; - ViewChange: string; - ViewsAllowed: number; - Visible: boolean; - WhatsThisButton: boolean; - Width: number; - WindowHeight: number; - readonly WindowLeft: number; - readonly WindowTop: number; - WindowWidth: number; - ZoomControl: number; - } - - class Forms { - private 'Access.Forms_typekey': Forms; - private constructor(); + interface Forms { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; Item(Index: number | string): Form; readonly Parent: any; + (Index: number | string): Form; } class GroupLevel { @@ -5437,10 +4973,10 @@ declare namespace Access { EmailSubject: string; /** - * @param boolean [NewWindow=false] - * @param boolean [AddHistory=true] - * @param Office.MsoExtraInfoMethod [Method=0] - * @param string [HeaderInfo=''] + * @param NewWindow [NewWindow=false] + * @param AddHistory [AddHistory=true] + * @param Method [Method=0] + * @param HeaderInfo [HeaderInfo=''] */ Follow(NewWindow?: boolean, AddHistory?: boolean, ExtraInfo?: any, Method?: Office.MsoExtraInfoMethod, HeaderInfo?: string): void; IsMemberSafe(dispid: number): boolean; @@ -5502,7 +5038,7 @@ declare namespace Access { readonly LayoutID: number; Left: number; LeftPadding: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; ObjectPalette: any; OldBorderStyle: number; @@ -5547,22 +5083,22 @@ declare namespace Access { readonly Application: Application; Delete(): void; Description: string; - Execute(Prompt?: any): void; + Execute(Prompt?: boolean): void; IsMemberSafe(dispid: number): boolean; Name: string; readonly Parent: any; XML: string; } - class ImportExportSpecifications { - private 'Access.ImportExportSpecifications_typekey': ImportExportSpecifications; - private constructor(); + // tslint:disable-next-line:interface-name + interface ImportExportSpecifications { Add(Name: string, SpecificationDefinition: string): ImportExportSpecification; readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): ImportExportSpecification; + Item(Index: number | string): ImportExportSpecification; readonly Parent: any; + (Index: number | string): ImportExportSpecification; } class Label { @@ -5647,7 +5183,7 @@ declare namespace Access { LeftMargin: number; LeftPadding: number; LineSpacing: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; NumeralShapes: number; OldBorderStyle: number; @@ -5709,7 +5245,7 @@ declare namespace Access { IsVisible: boolean; Left: number; LineSlant: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; OldBorderStyle: number; readonly Parent: any; @@ -5749,7 +5285,7 @@ declare namespace Access { accState(varChild?: any): any; accValue(varChild?: any): string; AddColon: boolean; - AddItem(Item: string, Index?: any): void; + AddItem(Item: string, Index?: number): void; AfterUpdate: string; AfterUpdateMacro: string; AllowValueListEdits: boolean; @@ -5770,7 +5306,7 @@ declare namespace Access { BorderWidth: number; BottomPadding: number; BoundColumn: number; - Column(Index: number, Row?: any): any; + Column(Index: number, Row?: number): any; ColumnCount: number; ColumnHeads: boolean; ColumnHidden: boolean; @@ -5834,7 +5370,7 @@ declare namespace Access { ListIndex: number; ListItemsEditForm: string; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; MultiSelect: number; Name: string; NumeralShapes: number; @@ -5867,8 +5403,8 @@ declare namespace Access { readonly Parent: any; readonly Properties: Properties; ReadingOrder: number; - Recordset: any; - RemoveItem(Index: any): void; + Recordset: DAO.Recordset | ADODB.Recordset; + RemoveItem(Index: number | string): void; Requery(): void; RightPadding: number; RowSource: string; @@ -5909,15 +5445,14 @@ declare namespace Access { Value: any; } - class LocalVars { - private 'Access.LocalVars_typekey': LocalVars; - private constructor(); + interface LocalVars { Add(Name: string, Value: any): void; readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; Item(Index: any): LocalVar; readonly Parent: any; + (Index: any): LocalVar; } class MacroError { @@ -5944,9 +5479,9 @@ declare namespace Access { DeleteLines(StartLine: number, Count: number): void; /** - * @param boolean [WholeWord=false] - * @param boolean [MatchCase=false] - * @param boolean [PatternSearch=false] + * @param WholeWord [WholeWord=false] + * @param MatchCase [MatchCase=false] + * @param PatternSearch [PatternSearch=false] */ Find(Target: string, StartLine: number, StartColumn: number, EndLine: number, EndColumn: number, WholeWord?: boolean, MatchCase?: boolean, PatternSearch?: boolean): boolean; InsertLines(Line: number, String: string): void; @@ -5963,14 +5498,13 @@ declare namespace Access { readonly Type: AcModuleType; } - class Modules { - private 'Access.Modules_typekey': Modules; - private constructor(); + interface Modules { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): Module; + Item(Index: number | string): Module; readonly Parent: any; + (Index: number | string): Module; } class NavigationButton { @@ -6075,7 +5609,7 @@ declare namespace Access { readonly LayoutID: number; readonly Left: number; LeftPadding: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; NavigationTargetName: string; NavigationWhereClause: string; @@ -6223,7 +5757,7 @@ declare namespace Access { Left: number; LeftPadding: number; LineSpacing: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; NumeralShapes: number; OldBorderStyle: number; @@ -6360,7 +5894,7 @@ declare namespace Access { LinkMasterFields: string; Locked: boolean; LpOleObject: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; readonly Object: any; ObjectPalette: any; @@ -6426,7 +5960,7 @@ declare namespace Access { private 'Access.Operation_typekey': Operation; private constructor(); - /** @param string [bstrParameters=''] */ + /** @param bstrParameters [bstrParameters=''] */ Execute(bstrParameters?: string): any; IsMemberSafe(dispid: number): boolean; readonly Name: string; @@ -6434,13 +5968,12 @@ declare namespace Access { readonly WSParameters: WSParameters; } - class Operations { - private 'Access.Operations_typekey': Operations; - private constructor(); + interface Operations { readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): Operation; + Item(Index: number | string): Operation; readonly Parent: any; + (Index: number | string): Operation; } class OptionButton { @@ -6522,7 +6055,7 @@ declare namespace Access { Left: number; LeftPadding: number; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; OldBorderStyle: number; readonly OldValue: any; @@ -6644,7 +6177,7 @@ declare namespace Access { LabelY: number; Left: number; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; OldBorderStyle: number; readonly OldValue: any; @@ -6723,7 +6256,7 @@ declare namespace Access { IsMemberSafe(dispid: number): boolean; IsVisible: boolean; Left: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; OnClick: string; OnClickMacro: string; @@ -6767,7 +6300,7 @@ declare namespace Access { IsMemberSafe(dispid: number): boolean; IsVisible: boolean; Left: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; readonly Parent: any; readonly Properties: Properties; @@ -6778,14 +6311,13 @@ declare namespace Access { Visible: boolean; } - class Pages { - private 'Access.Pages_typekey': Pages; - private constructor(); - Add(Before?: any): Page; + interface Pages { + Add(Before?: number): Page; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): Page; - Remove(Item?: any): void; + Item(Index: number | string): Page; + Remove(Item?: number): void; + (Index: number | string): Page; } class PaletteButton { @@ -6826,7 +6358,7 @@ declare namespace Access { LabelY: number; Left: number; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; readonly OldValue: any; OnClick: string; @@ -6902,24 +6434,22 @@ declare namespace Access { TopMargin: number; } - class Printers { - private 'Access.Printers_typekey': Printers; - private constructor(); + interface Printers { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): Printer; + Item(Index: number | string): Printer; readonly Parent: any; + (Index: number | string): Printer; } - class Properties { - private 'Access.Properties_typekey': Properties; - private constructor(); + interface Properties { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): any; + Item(Index: number | string): AccessProperty; readonly Parent: any; + (Index: number | string): AccessProperty; } class Rectangle { @@ -6950,7 +6480,7 @@ declare namespace Access { IsMemberSafe(dispid: number): boolean; IsVisible: boolean; Left: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; OldBorderStyle: number; OnClick: string; @@ -6990,16 +6520,15 @@ declare namespace Access { readonly Name: string; } - class References { - private 'Access.References_typekey': References; - private constructor(); + interface References { AddFromFile(FileName: string): Reference; AddFromGuid(Guid: string, Major: number, Minor: number): Reference; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(var_0: any): Reference; + Item(var_0: number | string): Reference; readonly Parent: any; Remove(Reference: Reference): void; + (var_0: number | string): Reference; } class Report { @@ -7075,7 +6604,7 @@ declare namespace Access { readonly Module: Module; MouseWheel: string; MouseWheelMacro: string; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Moveable: boolean; MoveLayout: boolean; Name: string; @@ -7129,7 +6658,7 @@ declare namespace Access { OnTimerMacro: string; OnUnload: string; OnUnloadMacro: string; - OpenArgs: any; + OpenArgs: string; OrderBy: string; OrderByOn: boolean; OrderByOnLoad: boolean; @@ -7161,7 +6690,7 @@ declare namespace Access { PrtMip: any; PSet(flags: number, X: number, Y: number, color: number): void; RecordLocks: number; - Recordset: any; + Recordset: DAO.Recordset | ADODB.Recordset | null; RecordSource: string; RecordSourceQualifier: string; readonly Report: Report; @@ -7174,7 +6703,7 @@ declare namespace Access { ScaleTop: number; ScaleWidth: number; ScrollBars: number; - Section(Index: any): Section; + Section(Index: AcReportSection | string): Section; SectionOld(Index: any): Section; ServerFilter: string; readonly Shape: string; @@ -7196,281 +6725,31 @@ declare namespace Access { ZoomControl: number; } - class ReportOld { - private 'Access.ReportOld_typekey': ReportOld; - private constructor(); - _Evaluate(bstrExpr: string, ...ppsa: any[]): any; - _Name: string; - acHiddenCurrentPage: number; - readonly ActiveControl: Control; - readonly Application: Application; - Caption: string; - Circle(flags: number, X: number, Y: number, radius: number, color: number, start: number, end: number, aspect: number): void; - readonly Controls: Controls; - Count: number; - CurrentRecord: number; - CurrentX: number; - CurrentY: number; - DateGrouping: number; - DefaultControl(ControlType: number): Control; - Dirty: boolean; - DrawMode: number; - DrawStyle: number; - DrawWidth: number; - FastLaserPrinting: boolean; - FillColor: number; - FillStyle: number; - Filter: string; - FilterOn: boolean; - FontBold: number; - FontItalic: number; - FontName: string; - FontSize: number; - FontUnderline: number; - ForeColor: number; - FormatCount: number; - FormName: string; - GridX: number; - GridY: number; - GroupLevel(Index: number): GroupLevel; - GrpKeepTogether: number; - HasData: number; - HasModule: boolean; - Height: number; - HelpContextId: number; - HelpFile: string; - Hwnd: number; - InputParameters: string; - LayoutForPrint: boolean; - Left: number; - Line(flags: number, x1: number, y1: number, x2: number, y2: number, color: number): void; - LogicalPageHeight: number; - LogicalPageWidth: number; - MaxButton: boolean; - MenuBar: string; - MinButton: boolean; - readonly Module: Module; - MoveLayout: boolean; - Name: string; - NextRecord: boolean; - OnActivate: string; - OnClose: string; - OnDeactivate: string; - OnError: string; - OnMenu: string; - OnNoData: string; - OnOpen: string; - OnPage: string; - OrderBy: string; - OrderByOn: boolean; - Orientation: number; - Page: number; - PageFooter: number; - PageHeader: number; - Pages: number; - Painting: boolean; - PaintPalette: any; - PaletteSource: string; - readonly Parent: any; - Picture: string; - PictureAlignment: number; - PictureData: any; - PicturePages: number; - PicturePalette: any; - PictureSizeMode: number; - PictureTiling: boolean; - PictureType: number; - Print(Expr: string): void; - PrintCount: number; - PrintSection: boolean; - readonly Properties: Properties; - PrtDevMode: any; - PrtDevNames: any; - PrtMip: any; - PSet(flags: number, X: number, Y: number, color: number): void; - RecordLocks: number; - RecordSource: string; - readonly Report: Report; - Scale(flags: number, x1: number, y1: number, x2: number, y2: number): void; - ScaleHeight: number; - ScaleLeft: number; - ScaleMode: number; - ScaleTop: number; - ScaleWidth: number; - Section(Index: any): Section; - ServerFilter: string; - ShortcutMenuBar: string; - Tag: string; - TextHeight(Expr: string): number; - TextWidth(Expr: string): number; - Toolbar: string; - Top: number; - Visible: boolean; - Width: number; - ZoomControl: number; - } - - class ReportOldV10 { - private 'Access.ReportOldV10_typekey': ReportOldV10; - private constructor(); - _Evaluate(bstrExpr: string, ...ppsa: any[]): any; - _Name: string; - acHiddenCurrentPage: number; - readonly ActiveControl: Control; - readonly Application: Application; - AutoCenter: boolean; - AutoResize: boolean; - BorderStyle: number; - Caption: string; - Circle(flags: number, X: number, Y: number, radius: number, color: number, start: number, end: number, aspect: number): void; - CloseButton: boolean; - ControlBox: boolean; - readonly Controls: Controls; - Count: number; - CurrentRecord: number; - CurrentX: number; - CurrentY: number; - DateGrouping: number; - DefaultControl(ControlType: number): Control; - Dirty: boolean; - DrawMode: number; - DrawStyle: number; - DrawWidth: number; - FastLaserPrinting: boolean; - FillColor: number; - FillStyle: number; - Filter: string; - FilterOn: boolean; - FontBold: number; - FontItalic: number; - FontName: string; - FontSize: number; - FontUnderline: number; - ForeColor: number; - FormatCount: number; - FormName: string; - GridX: number; - GridY: number; - GroupLevel(Index: number): GroupLevel; - GrpKeepTogether: number; - HasData: number; - HasModule: boolean; - Height: number; - HelpContextId: number; - HelpFile: string; - Hwnd: number; - InputParameters: string; - LayoutForPrint: boolean; - Left: number; - Line(flags: number, x1: number, y1: number, x2: number, y2: number, color: number): void; - LogicalPageHeight: number; - LogicalPageWidth: number; - MaxButton: boolean; - MenuBar: string; - MinButton: boolean; - MinMaxButtons: number; - Modal: boolean; - readonly Module: Module; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; - Moveable: boolean; - MoveLayout: boolean; - Name: string; - NextRecord: boolean; - OnActivate: string; - OnClose: string; - OnDeactivate: string; - OnError: string; - OnMenu: string; - OnNoData: string; - OnOpen: string; - OnPage: string; - OpenArgs: any; - OrderBy: string; - OrderByOn: boolean; - Orientation: number; - Page: number; - PageFooter: number; - PageHeader: number; - Pages: number; - Painting: boolean; - PaintPalette: any; - PaletteSource: string; - readonly Parent: any; - Picture: string; - PictureAlignment: number; - PictureData: any; - PicturePages: number; - PicturePalette: any; - PictureSizeMode: number; - PictureTiling: boolean; - PictureType: number; - PopUp: boolean; - Print(Expr: string): void; - PrintCount: number; - Printer: Printer; - PrintSection: boolean; - readonly Properties: Properties; - PrtDevMode: any; - PrtDevNames: any; - PrtMip: any; - PSet(flags: number, X: number, Y: number, color: number): void; - RecordLocks: number; - Recordset: any; - RecordSource: string; - RecordSourceQualifier: string; - readonly Report: Report; - Scale(flags: number, x1: number, y1: number, x2: number, y2: number): void; - ScaleHeight: number; - ScaleLeft: number; - ScaleMode: number; - ScaleTop: number; - ScaleWidth: number; - Section(Index: any): Section; - ServerFilter: string; - readonly Shape: string; - ShortcutMenuBar: string; - Tag: string; - TextHeight(Expr: string): number; - TextWidth(Expr: string): number; - Toolbar: string; - Top: number; - UseDefaultPrinter: boolean; - Visible: boolean; - Width: number; - WindowHeight: number; - readonly WindowLeft: number; - readonly WindowTop: number; - WindowWidth: number; - ZoomControl: number; - } - - class Reports { - private 'Access.Reports_typekey': Reports; - private constructor(); + interface Reports { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): Report; + Item(Index: string | number): Report; readonly Parent: any; + (Index: string | number): Report; } class ReturnVar { private 'Access.ReturnVar_typekey': ReturnVar; private constructor(); - readonly _Value: any; + readonly _Value: string | number; IsMemberSafe(dispid: number): boolean; readonly Name: string; - readonly Value: any; + readonly Value: string | number; } - class ReturnVars { - private 'Access.ReturnVars_typekey': ReturnVars; - private constructor(); + interface ReturnVars { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): ReturnVar; + Item(Index: number | string): ReturnVar; readonly Parent: any; + (Index: string | number): ReturnVar; } class Screen { @@ -7553,14 +6832,13 @@ declare namespace Access { readonly Type: AcResourceType; } - class SharedResources { - private 'Access.SharedResources_typekey': SharedResources; - private constructor(); + interface SharedResources { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; Item(Index: number): SharedResource; readonly Parent: any; + (Index: number): SharedResource; } class SmartTag { @@ -7587,25 +6865,23 @@ declare namespace Access { readonly Parent: any; } - class SmartTagActions { - private 'Access.SmartTagActions_typekey': SmartTagActions; - private constructor(); + interface SmartTagActions { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): SmartTagAction; + Item(Index: number | string): SmartTagAction; readonly Parent: any; + (Index: number | string): SmartTagAction; } - class SmartTagProperties { - private 'Access.SmartTagProperties_typekey': SmartTagProperties; - private constructor(); + interface SmartTagProperties { Add(Name: string, Value: any): SmartTagProperty; readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): SmartTagProperty; + Item(Index: number | string): SmartTagProperty; readonly Parent: any; + (Index: number | string): SmartTagProperty; } class SmartTagProperty { @@ -7617,15 +6893,14 @@ declare namespace Access { Value: string; } - class SmartTags { - private 'Access.SmartTags_typekey': SmartTags; - private constructor(); + interface SmartTags { Add(Name: string): SmartTag; readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): SmartTag; + Item(Index: number | string): SmartTag; readonly Parent: any; + (Index: number | string): SmartTag; } class SubForm { @@ -7701,7 +6976,7 @@ declare namespace Access { LinkChildFields: string; LinkMasterFields: string; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; OldBorderStyle: number; OnEnter: string; @@ -7821,7 +7096,7 @@ declare namespace Access { readonly LayoutID: number; Left: number; LeftPadding: number; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; MultiRow: boolean; Name: string; readonly OldValue: any; @@ -7880,23 +7155,22 @@ declare namespace Access { class TempVar { private 'Access.TempVar_typekey': TempVar; private constructor(); - _Value: any; + _Value: number | string | boolean; IsMemberSafe(dispid: number): boolean; readonly Name: string; - Value: any; + Value: number | string | boolean; } - class TempVars { - private 'Access.TempVars_typekey': TempVars; - private constructor(); - Add(Name: string, Value: any): void; + interface TempVars { + Add(Name: string, Value: number | string | boolean): void; readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): TempVar; + Item(Index: number | string): TempVar; readonly Parent: any; - Remove(var_0: any): void; + Remove(Index: number | string): void; RemoveAll(): void; + (Index: number | string): TempVar; } class TextBox { @@ -8019,7 +7293,7 @@ declare namespace Access { LeftPadding: number; LineSpacing: number; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; NumeralShapes: number; OldBorderStyle: number; @@ -8200,7 +7474,7 @@ declare namespace Access { Left: number; LeftPadding: number; Locked: boolean; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; ObjectPalette: any; readonly OldValue: any; @@ -8336,7 +7610,7 @@ declare namespace Access { Left: number; LeftPadding: number; readonly LocationURL: string; - Move(Left: any, Top?: any, Width?: any, Height?: any): void; + Move(Left: number, Top?: number, Width?: number, Height?: number): void; Name: string; readonly Object: any; readonly OldValue: any; @@ -8416,14 +7690,13 @@ declare namespace Access { readonly Parent: any; } - class WebServices { - private 'Access.WebServices_typekey': WebServices; - private constructor(); + interface WebServices { readonly Application: Application; readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): WebService; + Item(Index: number | string): WebService; readonly Parent: any; + (Index: number | string): WebService; } class WizHook { @@ -8459,12 +7732,8 @@ declare namespace Access { GetColumns(bstrBase: string): string; GetCurrentView(bstrTableName: string): number; GetDisabledExtensions(): string; - GetFileName( - hwndOwner: number, AppName: string, DlgTitle: string, OpenTitle: string, File: string, InitialDir: string, Filter: string, FilterIndex: number, View: number, - flags: number, fOpen: boolean): number; - GetFileName2( - hwndOwner: number, AppName: string, DlgTitle: string, OpenTitle: string, File: string, InitialDir: string, Filter: string, FilterIndex: number, View: number, - flags: number, fOpen: boolean, fFileSystem: any): number; + GetFileName(hwndOwner: number, AppName: string, DlgTitle: string, OpenTitle: string, File: string, InitialDir: string, Filter: string, FilterIndex: number, View: number, flags: number, fOpen: boolean): number; + GetFileName2(hwndOwner: number, AppName: string, DlgTitle: string, OpenTitle: string, File: string, InitialDir: string, Filter: string, FilterIndex: number, View: number, flags: number, fOpen: boolean, fFileSystem: any): number; GetFileOdso(bstrExt: string, bstrFilename: string): number; GetImexTblName(): string; GetInfoForColumns(bstrBase: string): string; @@ -8485,7 +7754,7 @@ declare namespace Access { NameFromActid(Actid: number): string; ObjTypOfRecordSource(RecordSource: string): number; OfficeAddInDir(): string; - OpenEmScript(pProperty: _AccessProperty, OpenMode: number, Extra: number, Version: number): number; + OpenEmScript(pProperty: AccessProperty, OpenMode: number, Extra: number, Version: number): number; OpenPictureFile(File: string, Cancelled: boolean): boolean; OpenScript(Script: string, Label: string, OpenMode: number, Extra: number, Version: number): number; ReportLeaksToFile(fRptToFile: boolean, bstrFileOut: string): void; @@ -8514,13 +7783,12 @@ declare namespace Access { readonly Type: number; } - class WSParameters { - private 'Access.WSParameters_typekey': WSParameters; - private constructor(); + interface WSParameters { readonly Count: number; IsMemberSafe(dispid: number): boolean; - Item(Index: any): WSParameter; + Item(Index: number | string): WSParameter; readonly Parent: any; + (Index: number | string): WSParameter; } namespace EventHelperTypes { @@ -8528,12 +7796,230 @@ declare namespace Access { interface WebBrowserControl_BeforeNavigate2_Parameter { Cancel: boolean; - readonly flags: any; + readonly flags: number; readonly Headers: any; readonly pDisp: any; readonly PostData: any; - readonly TargetFrameName: any; - readonly URL: any; + readonly TargetFrameName: string | null; + readonly URL: string; + } + } +} + +declare namespace AccWizObjects { + const enum WIZ_CSIDL_FLAGS { + WIZ_CSIDL_APPDATA = 26, + WIZ_CSIDL_BITBUCKET = 10, + WIZ_CSIDL_COMMON_DESKTOPDIRECTORY = 25, + WIZ_CSIDL_COMMON_PROGRAMS = 23, + WIZ_CSIDL_COMMON_STARTMENU = 22, + WIZ_CSIDL_COMMON_STARTUP = 24, + WIZ_CSIDL_CONTROLS = 3, + WIZ_CSIDL_DESKTOP = 0, + WIZ_CSIDL_DESKTOPDIRECTORY = 16, + WIZ_CSIDL_DRIVES = 17, + WIZ_CSIDL_FAVORITES = 6, + WIZ_CSIDL_FONTS = 20, + WIZ_CSIDL_NETHOOD = 19, + WIZ_CSIDL_NETWORK = 18, + WIZ_CSIDL_PERSONAL = 5, + WIZ_CSIDL_PRINTERS = 4, + WIZ_CSIDL_PRINTHOOD = 27, + WIZ_CSIDL_PROGRAMS = 2, + WIZ_CSIDL_RECENT = 8, + WIZ_CSIDL_SENDTO = 9, + WIZ_CSIDL_STARTMENU = 11, + WIZ_CSIDL_STARTUP = 7, + WIZ_CSIDL_TEMPLATES = 21, + } + + const enum WIZ_SLGP_FLAGS { + WIZ_SLGP_SHORTPATH = 1, + WIZ_SLGP_UNCPRIORITY = 2, + } + + const enum WIZ_SLR_FLAGS { + WIZ_SLR_ANY_MATCH = 2, + WIZ_SLR_NO_UI = 1, + WIZ_SLR_UPDATE = 4, + } + + const enum WIZ_SW_FLAGS { + WIZ_SW_MAXIMIZE = 3, + WIZ_SW_MINIMIZE = 7, + WIZ_SW_NORMAL = 5, + } + + /** Field List Control */ + class FieldList { + private 'AccWizObjects.FieldList_typekey': FieldList; + private constructor(); + AddFieldList(bstrCaption: string, nLeft: number, nTop: number, nWidth: number, nHeight: number, nMultiSelectType: number, cCols: number, fShowPictures: boolean): void; + AddJoinLine(IFieldList: number, iField: number, iForeignFieldList: number, iForeignField: number, lAttribs: number): void; + DeleteFieldList(IFieldList: number): void; + DeleteJoinLine(IJoinLine: number): void; + readonly FieldListCount: number; + FieldLists(IFieldList: number): any; + HScrollPos: number; + readonly JoinLineCount: number; + JoinLines(IJoinLine: number): any; + PersistentHighlight: boolean; + Picture: stdole.IPictureDisp; + PictureCols: number; + PictureRows: number; + ScrollBars: number; + SelectedFieldListIndex: number; + SetCursor(nCursorID: number): void; + VScrollPos: number; + } + + /** ImexGrid Control */ + class ImexGrid { + private 'AccWizObjects.ImexGrid_typekey': ImexGrid; + private constructor(); + AddColumn(ColumnCaption: string, ColumnWidth: number, Index: number): void; + AddRow(RowText: string, Index: number): void; + AllowColumnSizing: boolean; + BackColor: stdole.OLE_COLOR; + CalcBestColumns(): void; + Caption: string; + ClearColumns(): void; + ClearRows(): void; + ColumnClickBehavior: number; + readonly ColumnCount: number; + Columns(ColumnNumber: number): any; + ColumnState: any; + DeleteColumn(Index: number): void; + DeleteRow(Index: number): void; + Delimiters: string; + DrawTextLogicalOrder: boolean; + FirstRowNumber: number; + Font: stdole.IFontDisp; + GridBackColor: stdole.OLE_COLOR; + GridFont: stdole.IFontDisp; + GridHeader: number; + Painting: boolean; + Refresh(): void; + ResetHScrollPos(): void; + ResetVScrollPos(): void; + readonly RowCount: number; + RowText(RowNumber: number): string; + ShowColLines: boolean; + ShowRowHeaders: boolean; + StringDelimiters: string; + } + + interface WIZ_FILETIME { + readonly dwHighDateTime: number; + readonly dwLowDateTime: number; + } + + interface WIZ_WIN32_FIND_DATA { + readonly cAlternate: SafeArray; + readonly cFileName: SafeArray; + readonly dwFileAttributes: number; + readonly dwReserved0: number; + readonly dwReserved1: number; + readonly ftCreationTime: WIZ_FILETIME; + readonly ftLastAccessTime: WIZ_FILETIME; + readonly ftLastWriteTime: WIZ_FILETIME; + readonly nFileSizeHigh: number; + readonly nFileSizeLow: number; + } + + /** WizShellLinkA Class */ + class WizShellLinkA { + private 'AccWizObjects.WizShellLinkA_typekey': WizShellLinkA; + private constructor(); + + /** GetArguments */ + GetArguments(pszArgs: string, cchMaxPath: number): void; + + /** GetDescription */ + GetDescription(pszName: string, cchMaxName: number): void; + + /** GetHotkey */ + GetHotkey(pwHotkey: number): void; + + /** GetIconLocation */ + GetIconLocation(pszIconPath: string, cchIconPath: number, piIcon: number): void; + + /** GetIDList */ + GetIDList(ppidl: WIZ_CSIDL_FLAGS): void; + + /** GetPath */ + GetPath(pszFile: string, cchMaxPath: number, pfd: WIZ_WIN32_FIND_DATA, fflags: number): void; + + /** GetShowCmd */ + GetShowCmd(piShowCmd: WIZ_SW_FLAGS): void; + + /** GetWorkingDirectory */ + GetWorkingDirectory(pszDir: string, cchMaxPath: number): void; + + /** Resolve */ + Resolve(hWnd: number, fflags: number): void; + + /** SetArguments */ + SetArguments(pszArgs: string): void; + + /** SetDescription */ + SetDescription(pszName: string): void; + + /** SetHotkey */ + SetHotkey(wHotkey: number): void; + + /** SetIconLocation */ + SetIconLocation(pszIconPath: string, iIcon: number): void; + + /** SetIDList */ + SetIDList(pidl: WIZ_CSIDL_FLAGS): void; + + /** SetPath */ + SetPath(pszFile: string): void; + + /** SetRelativePath */ + SetRelativePath(pszPathRel: string, dwReserved: number): void; + + /** SetShowCmd */ + SetShowCmd(iShowCmd: WIZ_SW_FLAGS): void; + + /** SetWorkingDirectory */ + SetWorkingDirectory(pszDir: string): void; + } + + namespace EventHelperTypes { + type FieldList_DragOver_ArgNames = ['SourceCtlName', 'SourceFieldList', 'SourceRow', 'State', 'X', 'Y']; + + type FieldList_FldListDragDrop_ArgNames = ['SourceCtlName', 'SourceFieldList', 'SourceRow', 'TargetCtlName', 'TargetFieldList', 'TargetRow']; + + type FieldList_FldListDragOver_ArgNames = ['SourceCtlName', 'SourceFieldList', 'SourceRow', 'TargetCtlName', 'TargetFieldList', 'TargetRow', 'State']; + + interface FieldList_DragOver_Parameter { + readonly SourceCtlName: string; + readonly SourceFieldList: number; + readonly SourceRow: number; + readonly State: number; + readonly X: number; + readonly Y: number; + } + + interface FieldList_FldListDragDrop_Parameter { + readonly SourceCtlName: string; + readonly SourceFieldList: number; + readonly SourceRow: number; + readonly TargetCtlName: string; + readonly TargetFieldList: number; + readonly TargetRow: number; + } + + interface FieldList_FldListDragOver_Parameter { + readonly SourceCtlName: string; + readonly SourceFieldList: number; + readonly SourceRow: number; + readonly State: number; + readonly TargetCtlName: string; + readonly TargetFieldList: number; + readonly TargetRow: number; } } } @@ -8542,71 +8028,45 @@ interface ActiveXObject { on(obj: Access._CheckBoxInOption, event: 'BeforeUpdate' | 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access._CheckBoxInOption, parameter: {Cancel: number}) => void): void; on(obj: Access._CheckBoxInOption, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access._CheckBoxInOption, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access._CheckBoxInOption, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access._CheckBoxInOption, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access._CheckBoxInOption, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access._CheckBoxInOption, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access._CheckBoxInOption, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access._CheckBoxInOption, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access._OptionButtonInOption, event: 'BeforeUpdate' | 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access._OptionButtonInOption, parameter: {Cancel: number}) => void): void; - on( - obj: Access._OptionButtonInOption, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: ( - this: Access._OptionButtonInOption, parameter: {KeyCode: number, Shift: number}) => void): void; + on(obj: Access._OptionButtonInOption, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access._OptionButtonInOption, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access._OptionButtonInOption, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access._OptionButtonInOption, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access._OptionButtonInOption, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], - handler: (this: Access._OptionButtonInOption, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access._OptionButtonInOption, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access._OptionButtonInOption, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access._PageHdrFtrInReport, event: 'DblClick', argNames: ['Cancel'], handler: (this: Access._PageHdrFtrInReport, parameter: {Cancel: number}) => void): void; - on( - obj: Access._PageHdrFtrInReport, event: 'Format', argNames: ['Cancel', 'FormatCount'], handler: ( - this: Access._PageHdrFtrInReport, parameter: {Cancel: number, FormatCount: number}) => void): void; - on( - obj: Access._PageHdrFtrInReport, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access._PageHdrFtrInReport, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access._PageHdrFtrInReport, event: 'Format', argNames: ['Cancel', 'FormatCount'], handler: (this: Access._PageHdrFtrInReport, parameter: {Cancel: number, FormatCount: number}) => void): void; + on(obj: Access._PageHdrFtrInReport, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access._PageHdrFtrInReport, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access._PageHdrFtrInReport, event: 'Print', argNames: ['Cancel', 'PrintCount'], handler: (this: Access._PageHdrFtrInReport, parameter: {Cancel: number, PrintCount: number}) => void): void; on(obj: Access._SectionInReport, event: 'DblClick', argNames: ['Cancel'], handler: (this: Access._SectionInReport, parameter: {Cancel: number}) => void): void; on(obj: Access._SectionInReport, event: 'Format', argNames: ['Cancel', 'FormatCount'], handler: (this: Access._SectionInReport, parameter: {Cancel: number, FormatCount: number}) => void): void; - on( - obj: Access._SectionInReport, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access._SectionInReport, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access._SectionInReport, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access._SectionInReport, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access._SectionInReport, event: 'Print', argNames: ['Cancel', 'PrintCount'], handler: (this: Access._SectionInReport, parameter: {Cancel: number, PrintCount: number}) => void): void; on(obj: Access._ToggleButtonInOption, event: 'BeforeUpdate' | 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access._ToggleButtonInOption, parameter: {Cancel: number}) => void): void; - on( - obj: Access._ToggleButtonInOption, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: ( - this: Access._ToggleButtonInOption, parameter: {KeyCode: number, Shift: number}) => void): void; + on(obj: Access._ToggleButtonInOption, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access._ToggleButtonInOption, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access._ToggleButtonInOption, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access._ToggleButtonInOption, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access._ToggleButtonInOption, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], - handler: (this: Access._ToggleButtonInOption, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access._ToggleButtonInOption, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access._ToggleButtonInOption, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.Attachment, event: 'BeforeUpdate' | 'DblClick' | 'Dirty' | 'Exit', argNames: ['Cancel'], handler: (this: Access.Attachment, parameter: {Cancel: number}) => void): void; on(obj: Access.Attachment, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.Attachment, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.Attachment, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.Attachment, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.Attachment, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.Attachment, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.Attachment, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.Attachment, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.BoundObjectFrame, event: 'BeforeUpdate' | 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access.BoundObjectFrame, parameter: {Cancel: number}) => void): void; on(obj: Access.BoundObjectFrame, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.BoundObjectFrame, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.BoundObjectFrame, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.BoundObjectFrame, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.BoundObjectFrame, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.BoundObjectFrame, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.BoundObjectFrame, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.BoundObjectFrame, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.BoundObjectFrame, event: 'Updated', argNames: ['Code'], handler: (this: Access.BoundObjectFrame, parameter: {Code: number}) => void): void; on(obj: Access.CheckBox, event: 'BeforeUpdate' | 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access.CheckBox, parameter: {Cancel: number}) => void): void; on(obj: Access.CheckBox, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.CheckBox, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.CheckBox, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.CheckBox, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.CheckBox, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.CheckBox, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.CheckBox, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.CheckBox, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.ComboBox, event: 'BeforeUpdate' | 'DblClick' | 'Dirty' | 'Exit' | 'Undo', argNames: ['Cancel'], handler: (this: Access.ComboBox, parameter: {Cancel: number}) => void): void; on(obj: Access.ComboBox, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.ComboBox, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.ComboBox, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.ComboBox, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.ComboBox, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.ComboBox, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.ComboBox, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.ComboBox, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.ComboBox, event: 'NotInList', argNames: ['NewData', 'Response'], handler: (this: Access.ComboBox, parameter: {NewData: string, Response: number}) => void): void; on(obj: Access.CommandButton, event: 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access.CommandButton, parameter: {Cancel: number}) => void): void; on(obj: Access.CommandButton, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.CommandButton, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.CommandButton, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.CommandButton, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.CommandButton, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.CommandButton, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.CommandButton, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.CommandButton, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.CustomControl, event: 'Exit', argNames: ['Cancel'], handler: (this: Access.CustomControl, parameter: {Cancel: number}) => void): void; on(obj: Access.CustomControl, event: 'Updated', argNames: ['Code'], handler: (this: Access.CustomControl, parameter: {Code: number}) => void): void; on(obj: Access.Form, event: 'AfterDelConfirm', argNames: ['Status'], handler: (this: Access.Form, parameter: {Status: number}) => void): void; @@ -8614,16 +8074,9 @@ interface ActiveXObject { on(obj: Access.Form, event: 'AfterRender', argNames: ['drawObject', 'chartObject'], handler: (this: Access.Form, parameter: {readonly drawObject: any, readonly chartObject: any}) => void): void; on(obj: Access.Form, event: 'ApplyFilter', argNames: ['Cancel', 'ApplyType'], handler: (this: Access.Form, parameter: {Cancel: number, ApplyType: number}) => void): void; on(obj: Access.Form, event: 'BeforeDelConfirm', argNames: ['Cancel', 'Response'], handler: (this: Access.Form, parameter: {Cancel: number, Response: number}) => void): void; - on( - obj: Access.Form, event: 'BeforeInsert' | 'BeforeUpdate' | 'BeginBatchEdit' | 'DblClick' | 'Delete' | 'Dirty' | 'Open' | 'RecordExit' | 'Undo' | 'UndoBatchEdit' | - 'Unload', - argNames: ['Cancel'], handler: (this: Access.Form, parameter: {Cancel: number}) => void): void; - on( - obj: Access.Form, event: 'BeforeRender', argNames: ['drawObject', 'chartObject', 'Cancel'], handler: ( - this: Access.Form, parameter: {readonly drawObject: any, readonly chartObject: any, readonly Cancel: any}) => void): void; - on( - obj: Access.Form, event: 'BeforeScreenTip', argNames: ['ScreenTipText', 'SourceObject'], handler: ( - this: Access.Form, parameter: {readonly ScreenTipText: any, readonly SourceObject: any}) => void): void; + on(obj: Access.Form, event: 'BeforeInsert' | 'BeforeUpdate' | 'BeginBatchEdit' | 'DblClick' | 'Delete' | 'Dirty' | 'Open' | 'RecordExit' | 'Undo' | 'UndoBatchEdit' | 'Unload', argNames: ['Cancel'], handler: (this: Access.Form, parameter: {Cancel: number}) => void): void; + on(obj: Access.Form, event: 'BeforeRender', argNames: ['drawObject', 'chartObject', 'Cancel'], handler: (this: Access.Form, parameter: {readonly drawObject: any, readonly chartObject: any, readonly Cancel: any}) => void): void; + on(obj: Access.Form, event: 'BeforeScreenTip', argNames: ['ScreenTipText', 'SourceObject'], handler: (this: Access.Form, parameter: {readonly ScreenTipText: any, readonly SourceObject: any}) => void): void; on(obj: Access.Form, event: 'CommandBeforeExecute', argNames: ['Command', 'Cancel'], handler: (this: Access.Form, parameter: {readonly Command: any, readonly Cancel: any}) => void): void; on(obj: Access.Form, event: 'CommandChecked', argNames: ['Command', 'Checked'], handler: (this: Access.Form, parameter: {readonly Command: any, readonly Checked: any}) => void): void; on(obj: Access.Form, event: 'CommandEnabled', argNames: ['Command', 'Enabled'], handler: (this: Access.Form, parameter: {readonly Command: any, readonly Enabled: any}) => void): void; @@ -8633,141 +8086,41 @@ interface ActiveXObject { on(obj: Access.Form, event: 'Filter', argNames: ['Cancel', 'FilterType'], handler: (this: Access.Form, parameter: {Cancel: number, FilterType: number}) => void): void; on(obj: Access.Form, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.Form, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.Form, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.Form, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.Form, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.Form, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.Form, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.Form, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.Form, event: 'MouseWheel', argNames: ['Page', 'Count'], handler: (this: Access.Form, parameter: {readonly Page: boolean, readonly Count: number}) => void): void; - on( - obj: Access.FormOld, event: 'AfterBeginTransaction' | 'AfterCommitTransaction' | 'RollbackTransaction', argNames: ['Connection'], handler: ( - this: Access.FormOld, parameter: {readonly Connection: ADODB.Connection}) => void): void; - on(obj: Access.FormOld, event: 'AfterDelConfirm', argNames: ['Status'], handler: (this: Access.FormOld, parameter: {Status: number}) => void): void; - on(obj: Access.FormOld, event: 'AfterFinalRender' | 'AfterLayout', argNames: ['drawObject'], handler: (this: Access.FormOld, parameter: {readonly drawObject: any}) => void): void; - on( - obj: Access.FormOld, event: 'AfterRender', argNames: ['drawObject', 'chartObject'], handler: ( - this: Access.FormOld, parameter: {readonly drawObject: any, readonly chartObject: any}) => void): void; - on(obj: Access.FormOld, event: 'ApplyFilter', argNames: ['Cancel', 'ApplyType'], handler: (this: Access.FormOld, parameter: {Cancel: number, ApplyType: number}) => void): void; - on( - obj: Access.FormOld, event: 'BeforeBeginTransaction' | 'BeforeCommitTransaction', argNames: ['Cancel', 'Connection'], handler: ( - this: Access.FormOld, parameter: {Cancel: number, readonly Connection: ADODB.Connection}) => void): void; - on(obj: Access.FormOld, event: 'BeforeDelConfirm', argNames: ['Cancel', 'Response'], handler: (this: Access.FormOld, parameter: {Cancel: number, Response: number}) => void): void; - on( - obj: Access.FormOld, event: 'BeforeInsert' | 'BeforeUpdate' | 'BeginBatchEdit' | 'DblClick' | 'Delete' | 'Dirty' | 'Open' | 'RecordExit' | 'Undo' | - 'UndoBatchEdit' | 'Unload', - argNames: ['Cancel'], handler: (this: Access.FormOld, parameter: {Cancel: number}) => void): void; - on( - obj: Access.FormOld, event: 'BeforeRender', argNames: ['drawObject', 'chartObject', 'Cancel'], handler: ( - this: Access.FormOld, parameter: {readonly drawObject: any, readonly chartObject: any, readonly Cancel: any}) => void): void; - on( - obj: Access.FormOld, event: 'BeforeScreenTip', argNames: ['ScreenTipText', 'SourceObject'], handler: ( - this: Access.FormOld, parameter: {readonly ScreenTipText: any, readonly SourceObject: any}) => void): void; - on(obj: Access.FormOld, event: 'CommandBeforeExecute', argNames: ['Command', 'Cancel'], handler: (this: Access.FormOld, parameter: {readonly Command: any, readonly Cancel: any}) => void): void; - on(obj: Access.FormOld, event: 'CommandChecked', argNames: ['Command', 'Checked'], handler: (this: Access.FormOld, parameter: {readonly Command: any, readonly Checked: any}) => void): void; - on(obj: Access.FormOld, event: 'CommandEnabled', argNames: ['Command', 'Enabled'], handler: (this: Access.FormOld, parameter: {readonly Command: any, readonly Enabled: any}) => void): void; - on(obj: Access.FormOld, event: 'CommandExecute', argNames: ['Command'], handler: (this: Access.FormOld, parameter: {readonly Command: any}) => void): void; - on(obj: Access.FormOld, event: 'DataChange' | 'PivotTableChange' | 'ViewChange', argNames: ['Reason'], handler: (this: Access.FormOld, parameter: {readonly Reason: number}) => void): void; - on(obj: Access.FormOld, event: 'Error', argNames: ['DataErr', 'Response'], handler: (this: Access.FormOld, parameter: {DataErr: number, Response: number}) => void): void; - on(obj: Access.FormOld, event: 'Filter', argNames: ['Cancel', 'FilterType'], handler: (this: Access.FormOld, parameter: {Cancel: number, FilterType: number}) => void): void; - on(obj: Access.FormOld, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.FormOld, parameter: {KeyCode: number, Shift: number}) => void): void; - on(obj: Access.FormOld, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.FormOld, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.FormOld, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.FormOld, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; - on(obj: Access.FormOld, event: 'MouseWheel', argNames: ['Page', 'Count'], handler: (this: Access.FormOld, parameter: {readonly Page: boolean, readonly Count: number}) => void): void; - on( - obj: Access.FormOldV10, event: 'AfterBeginTransaction' | 'AfterCommitTransaction' | 'RollbackTransaction', argNames: ['Connection'], - handler: (this: Access.FormOldV10, parameter: {readonly Connection: ADODB.Connection}) => void): void; - on(obj: Access.FormOldV10, event: 'AfterDelConfirm', argNames: ['Status'], handler: (this: Access.FormOldV10, parameter: {Status: number}) => void): void; - on(obj: Access.FormOldV10, event: 'AfterFinalRender' | 'AfterLayout', argNames: ['drawObject'], handler: (this: Access.FormOldV10, parameter: {readonly drawObject: any}) => void): void; - on( - obj: Access.FormOldV10, event: 'AfterRender', argNames: ['drawObject', 'chartObject'], handler: ( - this: Access.FormOldV10, parameter: {readonly drawObject: any, readonly chartObject: any}) => void): void; - on(obj: Access.FormOldV10, event: 'ApplyFilter', argNames: ['Cancel', 'ApplyType'], handler: (this: Access.FormOldV10, parameter: {Cancel: number, ApplyType: number}) => void): void; - on( - obj: Access.FormOldV10, event: 'BeforeBeginTransaction' | 'BeforeCommitTransaction', argNames: ['Cancel', 'Connection'], handler: ( - this: Access.FormOldV10, parameter: {Cancel: number, readonly Connection: ADODB.Connection}) => void): void; - on(obj: Access.FormOldV10, event: 'BeforeDelConfirm', argNames: ['Cancel', 'Response'], handler: (this: Access.FormOldV10, parameter: {Cancel: number, Response: number}) => void): void; - on( - obj: Access.FormOldV10, event: 'BeforeInsert' | 'BeforeUpdate' | 'BeginBatchEdit' | 'DblClick' | 'Delete' | 'Dirty' | 'Open' | 'RecordExit' | 'Undo' | - 'UndoBatchEdit' | 'Unload', - argNames: ['Cancel'], handler: (this: Access.FormOldV10, parameter: {Cancel: number}) => void): void; - on( - obj: Access.FormOldV10, event: 'BeforeRender', argNames: ['drawObject', 'chartObject', 'Cancel'], handler: ( - this: Access.FormOldV10, parameter: {readonly drawObject: any, readonly chartObject: any, readonly Cancel: any}) => void): void; - on( - obj: Access.FormOldV10, event: 'BeforeScreenTip', argNames: ['ScreenTipText', 'SourceObject'], handler: ( - this: Access.FormOldV10, parameter: {readonly ScreenTipText: any, readonly SourceObject: any}) => void): void; - on( - obj: Access.FormOldV10, event: 'CommandBeforeExecute', argNames: ['Command', 'Cancel'], handler: ( - this: Access.FormOldV10, parameter: {readonly Command: any, readonly Cancel: any}) => void): void; - on(obj: Access.FormOldV10, event: 'CommandChecked', argNames: ['Command', 'Checked'], handler: (this: Access.FormOldV10, parameter: {readonly Command: any, readonly Checked: any}) => void): void; - on(obj: Access.FormOldV10, event: 'CommandEnabled', argNames: ['Command', 'Enabled'], handler: (this: Access.FormOldV10, parameter: {readonly Command: any, readonly Enabled: any}) => void): void; - on(obj: Access.FormOldV10, event: 'CommandExecute', argNames: ['Command'], handler: (this: Access.FormOldV10, parameter: {readonly Command: any}) => void): void; - on(obj: Access.FormOldV10, event: 'DataChange' | 'PivotTableChange' | 'ViewChange', argNames: ['Reason'], handler: (this: Access.FormOldV10, parameter: {readonly Reason: number}) => void): void; - on(obj: Access.FormOldV10, event: 'Error', argNames: ['DataErr', 'Response'], handler: (this: Access.FormOldV10, parameter: {DataErr: number, Response: number}) => void): void; - on(obj: Access.FormOldV10, event: 'Filter', argNames: ['Cancel', 'FilterType'], handler: (this: Access.FormOldV10, parameter: {Cancel: number, FilterType: number}) => void): void; - on(obj: Access.FormOldV10, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.FormOldV10, parameter: {KeyCode: number, Shift: number}) => void): void; - on(obj: Access.FormOldV10, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.FormOldV10, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.FormOldV10, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.FormOldV10, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; - on(obj: Access.FormOldV10, event: 'MouseWheel', argNames: ['Page', 'Count'], handler: (this: Access.FormOldV10, parameter: {readonly Page: boolean, readonly Count: number}) => void): void; on(obj: Access.Image, event: 'DblClick', argNames: ['Cancel'], handler: (this: Access.Image, parameter: {Cancel: number}) => void): void; - on( - obj: Access.Image, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.Image, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.Image, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.Image, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.Label, event: 'DblClick', argNames: ['Cancel'], handler: (this: Access.Label, parameter: {Cancel: number}) => void): void; - on( - obj: Access.Label, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.Label, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.Label, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.Label, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.ListBox, event: 'BeforeUpdate' | 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access.ListBox, parameter: {Cancel: number}) => void): void; on(obj: Access.ListBox, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.ListBox, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.ListBox, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.ListBox, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.ListBox, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.ListBox, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.ListBox, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.ListBox, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.NavigationButton, event: 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access.NavigationButton, parameter: {Cancel: number}) => void): void; on(obj: Access.NavigationButton, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.NavigationButton, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.NavigationButton, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.NavigationButton, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.NavigationButton, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.NavigationButton, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; - on( - obj: Access.NavigationControl, event: 'BeforeUpdate' | 'DblClick' | 'Dirty' | 'Exit' | 'Undo', argNames: ['Cancel'], handler: ( - this: Access.NavigationControl, parameter: {Cancel: number}) => void): void; + on(obj: Access.NavigationButton, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.NavigationButton, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.NavigationControl, event: 'BeforeUpdate' | 'DblClick' | 'Dirty' | 'Exit' | 'Undo', argNames: ['Cancel'], handler: (this: Access.NavigationControl, parameter: {Cancel: number}) => void): void; on(obj: Access.NavigationControl, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.NavigationControl, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.NavigationControl, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.NavigationControl, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.NavigationControl, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.NavigationControl, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.NavigationControl, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.NavigationControl, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.ObjectFrame, event: 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access.ObjectFrame, parameter: {Cancel: number}) => void): void; - on( - obj: Access.ObjectFrame, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.ObjectFrame, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.ObjectFrame, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.ObjectFrame, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.ObjectFrame, event: 'Updated', argNames: ['Code'], handler: (this: Access.ObjectFrame, parameter: {Code: number}) => void): void; on(obj: Access.OptionButton, event: 'BeforeUpdate' | 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access.OptionButton, parameter: {Cancel: number}) => void): void; on(obj: Access.OptionButton, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.OptionButton, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.OptionButton, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.OptionButton, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.OptionButton, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.OptionButton, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.OptionButton, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.OptionButton, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.OptionGroup, event: 'BeforeUpdate' | 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access.OptionGroup, parameter: {Cancel: number}) => void): void; - on( - obj: Access.OptionGroup, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.OptionGroup, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.OptionGroup, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.OptionGroup, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.Page, event: 'DblClick', argNames: ['Cancel'], handler: (this: Access.Page, parameter: {Cancel: number}) => void): void; - on( - obj: Access.Page, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.Page, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.Page, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.Page, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.PaletteButton, event: 'BeforeUpdate' | 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access.PaletteButton, parameter: {Cancel: number}) => void): void; on(obj: Access.PaletteButton, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.PaletteButton, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.PaletteButton, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.PaletteButton, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.PaletteButton, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.PaletteButton, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.PaletteButton, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.PaletteButton, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.Rectangle, event: 'DblClick', argNames: ['Cancel'], handler: (this: Access.Rectangle, parameter: {Cancel: number}) => void): void; - on( - obj: Access.Rectangle, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.Rectangle, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.Rectangle, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.Rectangle, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.References, event: 'ItemAdded' | 'ItemRemoved', argNames: ['Reference'], handler: (this: Access.References, parameter: {readonly Reference: Access.Reference}) => void): void; on(obj: Access.Report, event: 'ApplyFilter', argNames: ['Cancel', 'ApplyType'], handler: (this: Access.Report, parameter: {Cancel: number, ApplyType: number}) => void): void; on(obj: Access.Report, event: 'DblClick' | 'NoData' | 'Open' | 'Unload', argNames: ['Cancel'], handler: (this: Access.Report, parameter: {Cancel: number}) => void): void; @@ -8775,58 +8128,32 @@ interface ActiveXObject { on(obj: Access.Report, event: 'Filter', argNames: ['Cancel', 'FilterType'], handler: (this: Access.Report, parameter: {Cancel: number, FilterType: number}) => void): void; on(obj: Access.Report, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.Report, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.Report, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.Report, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.Report, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.Report, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.Report, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.Report, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.Report, event: 'MouseWheel', argNames: ['Page', 'Count'], handler: (this: Access.Report, parameter: {readonly Page: boolean, readonly Count: number}) => void): void; - on(obj: Access.ReportOld, event: 'Error', argNames: ['DataErr', 'Response'], handler: (this: Access.ReportOld, parameter: {DataErr: number, Response: number}) => void): void; - on(obj: Access.ReportOld, event: 'NoData' | 'Open', argNames: ['Cancel'], handler: (this: Access.ReportOld, parameter: {Cancel: number}) => void): void; - on(obj: Access.ReportOldV10, event: 'Error', argNames: ['DataErr', 'Response'], handler: (this: Access.ReportOldV10, parameter: {DataErr: number, Response: number}) => void): void; - on(obj: Access.ReportOldV10, event: 'NoData' | 'Open', argNames: ['Cancel'], handler: (this: Access.ReportOldV10, parameter: {Cancel: number}) => void): void; on(obj: Access.Section, event: 'DblClick', argNames: ['Cancel'], handler: (this: Access.Section, parameter: {Cancel: number}) => void): void; - on( - obj: Access.Section, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.Section, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.Section, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.Section, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.SubForm, event: 'Exit', argNames: ['Cancel'], handler: (this: Access.SubForm, parameter: {Cancel: number}) => void): void; on(obj: Access.SubReport, event: 'Exit', argNames: ['Cancel'], handler: (this: Access.SubReport, parameter: {Cancel: number}) => void): void; on(obj: Access.TabControl, event: 'DblClick', argNames: ['Cancel'], handler: (this: Access.TabControl, parameter: {Cancel: number}) => void): void; on(obj: Access.TabControl, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.TabControl, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.TabControl, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.TabControl, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.TabControl, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.TabControl, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.TabControl, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.TabControl, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.TextBox, event: 'BeforeUpdate' | 'DblClick' | 'Dirty' | 'Exit' | 'Undo', argNames: ['Cancel'], handler: (this: Access.TextBox, parameter: {Cancel: number}) => void): void; on(obj: Access.TextBox, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.TextBox, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.TextBox, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.TextBox, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.TextBox, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.TextBox, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.TextBox, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.TextBox, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; on(obj: Access.ToggleButton, event: 'BeforeUpdate' | 'DblClick' | 'Exit', argNames: ['Cancel'], handler: (this: Access.ToggleButton, parameter: {Cancel: number}) => void): void; on(obj: Access.ToggleButton, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.ToggleButton, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.ToggleButton, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.ToggleButton, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.ToggleButton, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.ToggleButton, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; - on( - obj: Access.WebBrowserControl, event: 'BeforeNavigate2', argNames: Access.EventHelperTypes.WebBrowserControl_BeforeNavigate2_ArgNames, - handler: (this: Access.WebBrowserControl, parameter: Access.EventHelperTypes.WebBrowserControl_BeforeNavigate2_Parameter) => void): void; - on( - obj: Access.WebBrowserControl, event: 'BeforeUpdate' | 'DblClick' | 'Dirty' | 'Exit', argNames: ['Cancel'], handler: ( - this: Access.WebBrowserControl, parameter: {Cancel: number}) => void): void; - on( - obj: Access.WebBrowserControl, event: 'DocumentComplete', argNames: ['pDisp', 'URL'], handler: ( - this: Access.WebBrowserControl, parameter: {readonly pDisp: any, readonly URL: any}) => void): void; + on(obj: Access.ToggleButton, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.ToggleButton, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.WebBrowserControl, event: 'BeforeNavigate2', argNames: Access.EventHelperTypes.WebBrowserControl_BeforeNavigate2_ArgNames, handler: (this: Access.WebBrowserControl, parameter: Access.EventHelperTypes.WebBrowserControl_BeforeNavigate2_Parameter) => void): void; + on(obj: Access.WebBrowserControl, event: 'BeforeUpdate' | 'DblClick' | 'Dirty' | 'Exit', argNames: ['Cancel'], handler: (this: Access.WebBrowserControl, parameter: {Cancel: number}) => void): void; + on(obj: Access.WebBrowserControl, event: 'DocumentComplete', argNames: ['pDisp', 'URL'], handler: (this: Access.WebBrowserControl, parameter: {readonly pDisp: any, readonly URL: any}) => void): void; on(obj: Access.WebBrowserControl, event: 'KeyDown' | 'KeyUp', argNames: ['KeyCode', 'Shift'], handler: (this: Access.WebBrowserControl, parameter: {KeyCode: number, Shift: number}) => void): void; on(obj: Access.WebBrowserControl, event: 'KeyPress', argNames: ['KeyAscii'], handler: (this: Access.WebBrowserControl, parameter: {KeyAscii: number}) => void): void; - on( - obj: Access.WebBrowserControl, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: ( - this: Access.WebBrowserControl, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; - on( - obj: Access.WebBrowserControl, event: 'NavigateError', argNames: ['pDisp', 'URL', 'TargetFrameName', 'StatusCode', 'Cancel'], - handler: (this: Access.WebBrowserControl, parameter: {readonly pDisp: any, readonly URL: any, readonly TargetFrameName: any, readonly StatusCode: any, Cancel: boolean}) => void): void; - on( - obj: Access.WebBrowserControl, event: 'ProgressChange', argNames: ['Progress', 'ProgressMax'], handler: ( - this: Access.WebBrowserControl, parameter: {readonly Progress: number, readonly ProgressMax: number}) => void): void; + on(obj: Access.WebBrowserControl, event: 'MouseDown' | 'MouseMove' | 'MouseUp', argNames: ['Button', 'Shift', 'X', 'Y'], handler: (this: Access.WebBrowserControl, parameter: {Button: number, Shift: number, X: number, Y: number}) => void): void; + on(obj: Access.WebBrowserControl, event: 'NavigateError', argNames: ['pDisp', 'URL', 'TargetFrameName', 'StatusCode', 'Cancel'], handler: (this: Access.WebBrowserControl, parameter: {readonly pDisp: any, readonly URL: string, readonly TargetFrameName: string | null, readonly StatusCode: any, Cancel: boolean}) => void): void; + on(obj: Access.WebBrowserControl, event: 'ProgressChange', argNames: ['Progress', 'ProgressMax'], handler: (this: Access.WebBrowserControl, parameter: {readonly Progress: number, readonly ProgressMax: number}) => void): void; on(obj: Access.WebBrowserControl, event: 'Updated', argNames: ['Code'], handler: (this: Access.WebBrowserControl, parameter: {Code: number}) => void): void; on(obj: Access._CheckBoxInOption, event: 'AfterUpdate' | 'Click' | 'Enter' | 'GotFocus' | 'LostFocus', handler: (this: Access._CheckBoxInOption, parameter: {}) => void): void; on(obj: Access._OptionButtonInOption, event: 'AfterUpdate' | 'Click' | 'Enter' | 'GotFocus' | 'LostFocus', handler: (this: Access._OptionButtonInOption, parameter: {}) => void): void; @@ -8840,18 +8167,7 @@ interface ActiveXObject { on(obj: Access.ComboBox, event: 'AfterUpdate' | 'Change' | 'Click' | 'Enter' | 'GotFocus' | 'LostFocus', handler: (this: Access.ComboBox, parameter: {}) => void): void; on(obj: Access.CommandButton, event: 'Click' | 'Enter' | 'GotFocus' | 'LostFocus', handler: (this: Access.CommandButton, parameter: {}) => void): void; on(obj: Access.CustomControl, event: 'Enter' | 'GotFocus' | 'LostFocus', handler: (this: Access.CustomControl, parameter: {}) => void): void; - on( - obj: Access.Form, event: 'Activate' | 'AfterInsert' | 'AfterUpdate' | 'BeforeQuery' | 'Click' | 'Close' | 'Current' | 'DataSetChange' | 'Deactivate' | 'GotFocus' | - 'Load' | 'LostFocus' | 'OnConnect' | 'OnDisconnect' | 'Query' | 'Resize' | 'SelectionChange' | 'Timer', - handler: (this: Access.Form, parameter: {}) => void): void; - on( - obj: Access.FormOld, event: 'Activate' | 'AfterInsert' | 'AfterUpdate' | 'BeforeQuery' | 'Click' | 'Close' | 'Current' | 'DataSetChange' | 'Deactivate' | - 'GotFocus' | 'Load' | 'LostFocus' | 'OnConnect' | 'OnDisconnect' | 'Query' | 'Resize' | 'SelectionChange' | 'Timer', - handler: (this: Access.FormOld, parameter: {}) => void): void; - on( - obj: Access.FormOldV10, event: 'Activate' | 'AfterInsert' | 'AfterUpdate' | 'BeforeQuery' | 'Click' | 'Close' | 'Current' | 'DataSetChange' | 'Deactivate' | - 'GotFocus' | 'Load' | 'LostFocus' | 'OnConnect' | 'OnDisconnect' | 'Query' | 'Resize' | 'SelectionChange' | 'Timer', - handler: (this: Access.FormOldV10, parameter: {}) => void): void; + on(obj: Access.Form, event: 'Activate' | 'AfterInsert' | 'AfterUpdate' | 'BeforeQuery' | 'Click' | 'Close' | 'Current' | 'DataSetChange' | 'Deactivate' | 'GotFocus' | 'Load' | 'LostFocus' | 'OnConnect' | 'OnDisconnect' | 'Query' | 'Resize' | 'SelectionChange' | 'Timer', handler: (this: Access.Form, parameter: {}) => void): void; on(obj: Access.Image, event: 'Click', handler: (this: Access.Image, parameter: {}) => void): void; on(obj: Access.Label, event: 'Click', handler: (this: Access.Label, parameter: {}) => void): void; on(obj: Access.ListBox, event: 'AfterUpdate' | 'Click' | 'Enter' | 'GotFocus' | 'LostFocus', handler: (this: Access.ListBox, parameter: {}) => void): void; @@ -8863,11 +8179,7 @@ interface ActiveXObject { on(obj: Access.Page, event: 'Click', handler: (this: Access.Page, parameter: {}) => void): void; on(obj: Access.PaletteButton, event: 'AfterUpdate' | 'Click' | 'Enter' | 'GotFocus' | 'LostFocus', handler: (this: Access.PaletteButton, parameter: {}) => void): void; on(obj: Access.Rectangle, event: 'Click', handler: (this: Access.Rectangle, parameter: {}) => void): void; - on( - obj: Access.Report, event: 'Activate' | 'Click' | 'Close' | 'Current' | 'Deactivate' | 'GotFocus' | 'Load' | 'LostFocus' | 'Page' | 'Resize' | 'Timer', - handler: (this: Access.Report, parameter: {}) => void): void; - on(obj: Access.ReportOld, event: 'Activate' | 'Close' | 'Deactivate' | 'Page', handler: (this: Access.ReportOld, parameter: {}) => void): void; - on(obj: Access.ReportOldV10, event: 'Activate' | 'Close' | 'Deactivate' | 'Page', handler: (this: Access.ReportOldV10, parameter: {}) => void): void; + on(obj: Access.Report, event: 'Activate' | 'Click' | 'Close' | 'Current' | 'Deactivate' | 'GotFocus' | 'Load' | 'LostFocus' | 'Page' | 'Resize' | 'Timer', handler: (this: Access.Report, parameter: {}) => void): void; on(obj: Access.Section, event: 'Click' | 'Paint', handler: (this: Access.Section, parameter: {}) => void): void; on(obj: Access.SubForm, event: 'Enter', handler: (this: Access.SubForm, parameter: {}) => void): void; on(obj: Access.SubReport, event: 'Enter', handler: (this: Access.SubReport, parameter: {}) => void): void; @@ -8875,51 +8187,26 @@ interface ActiveXObject { on(obj: Access.TextBox, event: 'AfterUpdate' | 'Change' | 'Click' | 'Enter' | 'GotFocus' | 'LostFocus', handler: (this: Access.TextBox, parameter: {}) => void): void; on(obj: Access.ToggleButton, event: 'AfterUpdate' | 'Click' | 'Enter' | 'GotFocus' | 'LostFocus', handler: (this: Access.ToggleButton, parameter: {}) => void): void; on(obj: Access.WebBrowserControl, event: 'AfterUpdate' | 'Change' | 'Click' | 'Enter' | 'GotFocus' | 'LostFocus', handler: (this: Access.WebBrowserControl, parameter: {}) => void): void; - set( - obj: Access._CheckBoxInOption | Access._ChildLabel | Access._CustomControlInReport | Access._OptionButtonInOption | Access._ToggleButtonInOption | - Access.Attachment | Access.BoundObjectFrame | Access.CheckBox | Access.ComboBox | Access.CommandButton | Access.CustomControl | Access.EmptyCell | Access.Form | - Access.FormOld | Access.FormOldV10 | Access.Label | Access.ListBox | Access.NavigationButton | Access.NavigationControl | Access.ObjectFrame | - Access.OptionButton | Access.OptionGroup | Access.Page | Access.SubForm | Access.TabControl | Access.TextBox | Access.ToggleButton | Access.WebBrowserControl, - propertyName: 'accName' | 'accValue', parameterTypes: [any], newValue: string): void; + on(obj: AccWizObjects.FieldList, event: 'DragDrop', argNames: ['SourceCtlName', 'SourceFieldList', 'SourceRow', 'X', 'Y'], handler: (this: AccWizObjects.FieldList, parameter: { readonly SourceCtlName: string, readonly SourceFieldList: number, readonly SourceRow: number, readonly X: number, readonly Y: number }) => void): void; + on(obj: AccWizObjects.FieldList, event: 'DragOver', argNames: AccWizObjects.EventHelperTypes.FieldList_DragOver_ArgNames, handler: (this: AccWizObjects.FieldList, parameter: AccWizObjects.EventHelperTypes.FieldList_DragOver_Parameter) => void): void; + on(obj: AccWizObjects.FieldList, event: 'FldListCheckItem' | 'FldListClick' | 'FldListDblClick' | 'FldListHdrDblClick', argNames: ['FieldList'], handler: (this: AccWizObjects.FieldList, parameter: { readonly FieldList: number }) => void): void; + on(obj: AccWizObjects.FieldList, event: 'FldListDragDrop', argNames: AccWizObjects.EventHelperTypes.FieldList_FldListDragDrop_ArgNames, handler: (this: AccWizObjects.FieldList, parameter: AccWizObjects.EventHelperTypes.FieldList_FldListDragDrop_Parameter) => void): void; + on(obj: AccWizObjects.FieldList, event: 'FldListDragOver', argNames: AccWizObjects.EventHelperTypes.FieldList_FldListDragOver_ArgNames, handler: (this: AccWizObjects.FieldList, parameter: AccWizObjects.EventHelperTypes.FieldList_FldListDragOver_Parameter) => void): void; + on(obj: AccWizObjects.FieldList, event: 'FldListGotFocus' | 'FldListLostFocus', argNames: ['FieldListIndex'], handler: (this: AccWizObjects.FieldList, parameter: { readonly FieldListIndex: number }) => void): void; + on(obj: AccWizObjects.FieldList, event: 'FldListKeyDown' | 'FldListKeyUp', argNames: ['FieldList', 'KeyCode', 'Shift'], handler: (this: AccWizObjects.FieldList, parameter: { readonly FieldList: number, KeyCode: number, readonly Shift: number }) => void): void; + on(obj: AccWizObjects.FieldList, event: 'FldListKeyPress', argNames: ['FieldList', 'KeyAscii'], handler: (this: AccWizObjects.FieldList, parameter: { readonly FieldList: number, KeyAscii: number }) => void): void; + on(obj: AccWizObjects.FieldList, event: 'FldListMouseDown' | 'FldListMouseMove' | 'FldListMouseUp', argNames: ['FieldList', 'Button', 'Shift', 'X', 'Y'], handler: (this: AccWizObjects.FieldList, parameter: { readonly FieldList: number, readonly Button: number, readonly Shift: number, readonly X: stdole.OLE_XPOS_PIXELS, readonly Y: stdole.OLE_YPOS_PIXELS }) => void): void; + on(obj: AccWizObjects.ImexGrid, event: 'ColumnCreated' | 'ColumnDeleted' | 'ColumnSelected' | 'ColumnSized', argNames: ['Column'], handler: (this: AccWizObjects.ImexGrid, parameter: { readonly Column: number }) => void): void; + on(obj: AccWizObjects.FieldList, event: 'AfterStartup', handler: (this: AccWizObjects.FieldList, parameter: {}) => void): void; + set(obj: Access._CheckBoxInOption | Access._ChildLabel | Access._CustomControlInReport | Access._OptionButtonInOption | Access._ToggleButtonInOption | Access.Attachment | Access.BoundObjectFrame | Access.CheckBox | Access.ComboBox | Access.CommandButton | Access.CustomControl | Access.EmptyCell | Access.Form | Access.Label | Access.ListBox | Access.NavigationButton | Access.NavigationControl | Access.ObjectFrame | Access.OptionButton | Access.OptionGroup | Access.Page | Access.SubForm | Access.TabControl | Access.TextBox | Access.ToggleButton | Access.WebBrowserControl, propertyName: 'accName' | 'accValue', parameterTypes: [any], newValue: string): void; set(obj: Access._ControlInReportEvents | Access.ComboBox | Access.Control | Access.ListBox, propertyName: 'Selected', parameterTypes: [number], newValue: number): void; - new(progid: K): ActiveXObjectNameMap[K]; + set(obj: AccWizObjects.ImexGrid, propertyName: 'Columns', parameterTypes: [number], newValue: any): void; + set(obj: AccWizObjects.ImexGrid, propertyName: 'RowText', parameterTypes: [number], newValue: string): void; } interface ActiveXObjectNameMap { 'Access.Application': Access.Application; -} - -interface EnumeratorConstructor { - new(col: Access._ItemsSelected): Enumerator; - new(col: Access.AccessObjectProperties): Enumerator; - new(col: Access.AdditionalData): Enumerator; - new( - col: Access.AllDataAccessPages | Access.AllDatabaseDiagrams | Access.AllForms | Access.AllFunctions | Access.AllMacros | Access.AllModules | Access.AllQueries | - Access.AllReports | Access.AllStoredProcedures | Access.AllTables | Access.AllViews | Access.DependencyObjects): Enumerator; - new(col: Access.Controls): Enumerator; - new(col: Access.Children | Access.Properties): Enumerator; // tslint:disable-line:use-default-type-parameter - new(col: Access.DataAccessPages): Enumerator; - new(col: Access.Entities): Enumerator; - new(col: Access.FormatConditions): Enumerator; - new(col: Access.Forms): Enumerator; - new(col: Access.ImportExportSpecifications): Enumerator; - new(col: Access.LocalVars): Enumerator; - new(col: Access.Modules): Enumerator; - new(col: Access.Operations): Enumerator; - new(col: Access.Pages): Enumerator; - new(col: Access.Printers): Enumerator; - new(col: Access.References): Enumerator; - new(col: Access.Reports): Enumerator; - new(col: Access.ReturnVars): Enumerator; - new(col: Access.SharedResources): Enumerator; - new(col: Access.SmartTagActions): Enumerator; - new(col: Access.SmartTagProperties): Enumerator; - new(col: Access.SmartTags): Enumerator; - new(col: Access.TempVars): Enumerator; - new(col: Access.WebServices): Enumerator; - new(col: Access.WSParameters): Enumerator; -} - -interface SafeArray { - _brand: SafeArray; + 'ACCWIZ.FieldListCtrl': AccWizObjects.FieldList; + 'ACCWIZ.ImexGridCtrl': AccWizObjects.ImexGrid; + lnkfile: AccWizObjects.WizShellLinkA; } diff --git a/types/activex-access/tsconfig.json b/types/activex-access/tsconfig.json index a376fcb722..867c1e2970 100644 --- a/types/activex-access/tsconfig.json +++ b/types/activex-access/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-access/tslint.json b/types/activex-access/tslint.json index 3224b40b8b..7b89accc6d 100644 --- a/types/activex-access/tslint.json +++ b/types/activex-access/tslint.json @@ -1,6 +1,7 @@ { "extends": "dtslint/dt.json", "rules": { - "no-const-enum": false + "no-const-enum": false, + "max-line-length": false } } diff --git a/types/activex-adodb/activex-adodb-tests.ts b/types/activex-adodb/activex-adodb-tests.ts index 347e1d9c9f..eecc7e9bdc 100644 --- a/types/activex-adodb/activex-adodb-tests.ts +++ b/types/activex-adodb/activex-adodb-tests.ts @@ -1,5 +1,8 @@ // Note -- running these tests under cscript requires some ES5 polyfills +/// +/// + const collectionToArray = (col: { Item(key: any): T }): T[] => { const results: T[] = []; const enumerator = new Enumerator(col); @@ -12,9 +15,9 @@ const collectionToArray = (col: { Item(key: any): T }): T[] => { }; const toSafeArray = (...items: T[]): SafeArray => { - const dict = new ActiveXObject('Scripting.Dictionary'); + const dict: Scripting.Dictionary = new ActiveXObject('Scripting.Dictionary'); items.forEach((x, index) => dict.Add(index, x)); - return dict.Items() as SafeArray; + return dict.Items(); }; const toConnectionString = (o: { [index: string]: any }) => { diff --git a/types/activex-adodb/index.d.ts b/types/activex-adodb/index.d.ts index 1879891b2d..580042cfa6 100644 --- a/types/activex-adodb/index.d.ts +++ b/types/activex-adodb/index.d.ts @@ -4,6 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 +/// + declare namespace ADODB { const enum ADCPROP_ASYNCTHREADPRIORITY_ENUM { adPriorityAboveNormal = 4, @@ -1094,7 +1096,6 @@ declare namespace ADODB { } interface ActiveXObject { - new(progid: K): ActiveXObjectNameMap[K]; on(obj: ADODB.Connection, event: 'BeginTransComplete', argNames: ['TransactionLevel', 'pError', 'adStatus', 'pConnection'], handler: (this: ADODB.Connection, parameter: {readonly TransactionLevel: number, readonly pError: ADODB.Error, adStatus: ADODB.EventStatusEnum, readonly pConnection: ADODB.Connection}) => void): void; on(obj: ADODB.Connection, event: 'CommitTransComplete' | 'ConnectComplete' | 'InfoMessage' | 'RollbackTransComplete', argNames: ['pError', 'adStatus', 'pConnection'], handler: (this: ADODB.Connection, parameter: {readonly pError: ADODB.Error, adStatus: ADODB.EventStatusEnum, readonly pConnection: ADODB.Connection}) => void): void; on(obj: ADODB.Connection, event: 'Disconnect', argNames: ['adStatus', 'pConnection'], handler: (this: ADODB.Connection, parameter: {adStatus: ADODB.EventStatusEnum, readonly pConnection: ADODB.Connection}) => void): void; diff --git a/types/activex-adodb/tsconfig.json b/types/activex-adodb/tsconfig.json index 5cb32f94c9..abf5b79a00 100644 --- a/types/activex-adodb/tsconfig.json +++ b/types/activex-adodb/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-adox/activex-adox-tests.ts b/types/activex-adox/activex-adox-tests.ts index 1b6ec21d1f..df5c75ef12 100644 --- a/types/activex-adox/activex-adox-tests.ts +++ b/types/activex-adox/activex-adox-tests.ts @@ -1,3 +1,5 @@ +/// + const collectionToArray = (col: { Item(key: any): T }): T[] => { const results: T[] = []; const enumerator = new Enumerator(col); diff --git a/types/activex-adox/index.d.ts b/types/activex-adox/index.d.ts index 8960dd0a31..fd502684e4 100644 --- a/types/activex-adox/index.d.ts +++ b/types/activex-adox/index.d.ts @@ -4,6 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 +/// /// declare namespace ADOX { @@ -320,10 +321,6 @@ declare namespace ADOX { } } -interface ActiveXObject { - new(progid: K): ActiveXObjectNameMap[K]; -} - interface ActiveXObjectNameMap { 'ADOX.Catalog': ADOX.Catalog; 'ADOX.Column': ADOX.Column; diff --git a/types/activex-adox/tsconfig.json b/types/activex-adox/tsconfig.json index 7aaa955db5..30b6288e6a 100644 --- a/types/activex-adox/tsconfig.json +++ b/types/activex-adox/tsconfig.json @@ -1,8 +1,9 @@ - { "compilerOptions": { "module": "commonjs", - "lib": ["es5", "scripthost"], + "lib": [ + "es5" + ], "noImplicitAny": true, "noImplicitThis": true, "strictNullChecks": true, diff --git a/types/activex-dao/activex-dao-tests.ts b/types/activex-dao/activex-dao-tests.ts index 7e8c2bef22..6eea19f8e6 100644 --- a/types/activex-dao/activex-dao-tests.ts +++ b/types/activex-dao/activex-dao-tests.ts @@ -1,3 +1,5 @@ +/// + const collectionToArray = (col: { Item(key: any): T }): T[] => { const results: T[] = []; const enumerator = new Enumerator(col); diff --git a/types/activex-dao/index.d.ts b/types/activex-dao/index.d.ts index a2a159e324..0a13747514 100644 --- a/types/activex-dao/index.d.ts +++ b/types/activex-dao/index.d.ts @@ -4,6 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 +/// + declare namespace DAO { const enum _DAOSuppHelp { KeepLocal = 0, @@ -883,10 +885,6 @@ declare namespace DAO { } } -interface ActiveXObject { - new(progid: K): ActiveXObjectNameMap[K]; -} - interface ActiveXObjectNameMap { 'DAO.DBEngine': DAO.DBEngine; 'DAO.Field': DAO.Field; diff --git a/types/activex-dao/tsconfig.json b/types/activex-dao/tsconfig.json index 2ddea247b9..e9d00e61e1 100644 --- a/types/activex-dao/tsconfig.json +++ b/types/activex-dao/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-diskquota/index.d.ts b/types/activex-diskquota/index.d.ts index d27863de3c..71b534ee0c 100644 --- a/types/activex-diskquota/index.d.ts +++ b/types/activex-diskquota/index.d.ts @@ -2,7 +2,9 @@ // Project: https://msdn.microsoft.com/en-us/library/windows/desktop/bb773938(v=vs.85).aspx // Definitions by: Zev Spitz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.5 +// TypeScript Version: 2.6 + +/// declare namespace DiskQuotaTypeLibrary { // tslint:disable-next-line no-const-enum @@ -136,7 +138,6 @@ interface ActiveXObject { on( obj: DiskQuotaTypeLibrary.DiskQuotaControl, event: 'OnUserNameChanged', argNames: ['pUser'], handler: ( this: DiskQuotaTypeLibrary.DiskQuotaControl, parameter: {readonly pUser: DiskQuotaTypeLibrary.DIDiskQuotaUser}) => void): void; - new(progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { @@ -146,7 +147,3 @@ interface ActiveXObjectNameMap { interface EnumeratorConstructor { new(col: DiskQuotaTypeLibrary.DiskQuotaControl): Enumerator; } - -interface SafeArray { - _brand: SafeArray; -} diff --git a/types/activex-diskquota/tsconfig.json b/types/activex-diskquota/tsconfig.json index 597d998a96..ce9b55800d 100644 --- a/types/activex-diskquota/tsconfig.json +++ b/types/activex-diskquota/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-excel/activex-excel-tests.ts b/types/activex-excel/activex-excel-tests.ts index 4e577300e5..4f6fab3aa1 100644 --- a/types/activex-excel/activex-excel-tests.ts +++ b/types/activex-excel/activex-excel-tests.ts @@ -1,11 +1,12 @@ +/// /// /// // some helpers const toSafeArray = (...items: T[]): SafeArray => { - const dict = new ActiveXObject('Scripting.Dictionary'); + const dict: Scripting.Dictionary = new ActiveXObject('Scripting.Dictionary'); items.forEach((x, index) => dict.Add(index, x)); - return dict.Items() as SafeArray; + return dict.Items(); }; const inCollection = (collection: { Item(index: any): T }, index: string | number): T | undefined => { let item: T | undefined; @@ -295,11 +296,17 @@ const setColumnVisibility = (visible: boolean) => { const combobox = sheet.OLEObjects('ComboBox1').Object as MSForms.ComboBox; combobox.Clear(); - const enumerator = new Enumerator(dict.Items()); + + // iterate over keys using Enumerator + const enumerator = new Enumerator(dict); enumerator.moveFirst(); while (!enumerator.atEnd()) { combobox.AddItem(enumerator.item()); + enumerator.moveNext(); } + + // alternatively, make a JS array out of the keys, and iterate using forEach + // new VBArray(dict.Keys()).toArray().forEach(x => combobox.AddItem(x)); })(); })(); diff --git a/types/activex-excel/index.d.ts b/types/activex-excel/index.d.ts index cdf2a79551..c55bfe1c42 100644 --- a/types/activex-excel/index.d.ts +++ b/types/activex-excel/index.d.ts @@ -9723,7 +9723,6 @@ interface ActiveXObject { set(obj: Excel.Workbook, propertyName: 'Colors', parameterTypes: [any], newValue: any): void; set(obj: Excel.Range, propertyName: 'Value', parameterTypes: [Excel.XlRangeValueDataType], newValue: any): void; set(obj: Excel.Range, propertyName: 'Value', newValue: any): void; // because Value is defined on the type as a method, not a property - new (progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { diff --git a/types/activex-excel/tsconfig.json b/types/activex-excel/tsconfig.json index 244ab1d0ef..0b346a4a25 100644 --- a/types/activex-excel/tsconfig.json +++ b/types/activex-excel/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-faxcomexlib/activex-faxcomexlib-tests.ts b/types/activex-faxcomexlib/activex-faxcomexlib-tests.ts index ef3e403998..ae9edbe8c9 100644 --- a/types/activex-faxcomexlib/activex-faxcomexlib-tests.ts +++ b/types/activex-faxcomexlib/activex-faxcomexlib-tests.ts @@ -1,6 +1,7 @@ -/// +/// +/// -const collectionToArray = (col: { Item(index: any): T } | SafeArray) => { +const collectionToArray = (col: { Item(index: any): T }): T[] => { const results: T[] = []; const enumerator = new Enumerator(col); enumerator.moveFirst(); @@ -12,9 +13,9 @@ const collectionToArray = (col: { Item(index: any): T } | SafeArray) => { }; const toSafeArray = (...items: T[]): SafeArray => { - const dict = new ActiveXObject('Scripting.Dictionary'); + const dict: Scripting.Dictionary = new ActiveXObject('Scripting.Dictionary'); items.forEach((x, index) => dict.Add(index, x)); - return dict.Items() as SafeArray; + return dict.Items(); }; const VB = { @@ -422,7 +423,7 @@ the job? document.GroupBroadcastReceipts = true; const jobIDs = document.Submit(''); - collectionToArray(jobIDs).forEach(jobID => WScript.Echo(`The job ID is ${jobID}`)); + new VBArray(jobIDs).toArray().forEach(jobID => WScript.Echo(`The job ID is ${jobID}`)); while (recipients.Count > 0) { recipients.Remove(1); diff --git a/types/activex-faxcomexlib/index.d.ts b/types/activex-faxcomexlib/index.d.ts index d4078061f7..ffd2412ef3 100644 --- a/types/activex-faxcomexlib/index.d.ts +++ b/types/activex-faxcomexlib/index.d.ts @@ -2011,7 +2011,6 @@ interface ActiveXObject { this: FAXCOMEXLib.FaxServer, parameter: {readonly riid: stdole.GUID, ppvObj: undefined}) => void): void; on(obj: FAXCOMEXLib.FaxAccount, event: 'AddRef' | 'Release', handler: (this: FAXCOMEXLib.FaxAccount, parameter: {}) => void): void; on(obj: FAXCOMEXLib.FaxServer, event: 'AddRef' | 'Release', handler: (this: FAXCOMEXLib.FaxServer, parameter: {}) => void): void; - new(progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { diff --git a/types/activex-faxcomexlib/tsconfig.json b/types/activex-faxcomexlib/tsconfig.json index 6509ab4701..8443d46f26 100644 --- a/types/activex-faxcomexlib/tsconfig.json +++ b/types/activex-faxcomexlib/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-infopath/index.d.ts b/types/activex-infopath/index.d.ts index c00c67e197..9cace4ec2e 100644 --- a/types/activex-infopath/index.d.ts +++ b/types/activex-infopath/index.d.ts @@ -1168,7 +1168,6 @@ interface ActiveXObject { on(obj: InfoPath.Button, event: 'AddRef' | 'Release', handler: (this: InfoPath.Button, parameter: {}) => void): void; on(obj: InfoPath.DataDOM, event: 'AddRef' | 'Release', handler: (this: InfoPath.DataDOM, parameter: {}) => void): void; on(obj: InfoPath.XDocument, event: 'AddRef' | 'Release', handler: (this: InfoPath.XDocument, parameter: {}) => void): void; - new(progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { diff --git a/types/activex-infopath/tsconfig.json b/types/activex-infopath/tsconfig.json index 6feef8496c..db2712e264 100644 --- a/types/activex-infopath/tsconfig.json +++ b/types/activex-infopath/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-interop/activex-interop-tests.ts b/types/activex-interop/activex-interop-tests.ts index e2ece7401e..06c73aa952 100644 --- a/types/activex-interop/activex-interop-tests.ts +++ b/types/activex-interop/activex-interop-tests.ts @@ -1,49 +1,20 @@ -// copied from the definitions in activex-scripting -interface Dictionary { - /** Add a new key and item to the dictionary. */ - Add(Key: TKey, Item: TItem): void; +/// - /** Get the number of items in the dictionary. */ - readonly Count: number; - - /** Determine if a given key is in the dictionary. */ - Exists(Key: TKey): boolean; - HashVal(Key: TKey): any; - - /** Set or get the item for a given key */ - Item(Key: TKey): TItem; - - /** Get an array containing all items in the dictionary. */ - Items(): SafeArray; - - /** Change a key to a different key. */ - Key(Key: TKey): TKey; - - /** Get an array containing all keys in the dictionary. */ - Keys(): SafeArray; - - /** Remove a given key from the dictionary. */ - Remove(Key: TKey): void; - - /** Remove all information from the dictionary. */ - RemoveAll(): void; - - /** Set or get the item for a given key */ - (Key: TKey): TItem; -} - -interface ActiveXObjectNameMap { - 'Scripting.Dictionary': Dictionary; -} - -const dict: Dictionary = new ActiveXObject('Scripting.Dictionary'); +const dict: Scripting.Dictionary = new ActiveXObject('Scripting.Dictionary'); dict.Add('one', 1); dict.Add('two', 2); dict.Add('three', 3); -const keyEnumerator = new Enumerator(dict.Keys()); +const keyEnumerator = new Enumerator(dict); keyEnumerator.moveFirst(); while (!keyEnumerator.atEnd()) { const item = dict(keyEnumerator.item()); const power = Math.pow(item, 2); } + +const keysArray = new VBArray(dict.Keys()).toArray(); +const itemsArray = new VBArray(dict.Items()).toArray(); +for (let i = 0; i < keysArray.length; i++) { + const key = keysArray[i]; + const item = itemsArray[i]; +} diff --git a/types/activex-interop/index.d.ts b/types/activex-interop/index.d.ts index caa74fff38..3bb13a5351 100644 --- a/types/activex-interop/index.d.ts +++ b/types/activex-interop/index.d.ts @@ -2,7 +2,7 @@ // Project: https://msdn.microsoft.com/en-us/library/ff521046(v=vs.85).aspx // Definitions by: Zev Spitz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.3 +// TypeScript Version: 2.6 // tslint:disable-next-line no-empty-interface interface ActiveXObjectNameMap { } @@ -50,8 +50,8 @@ interface Enumerator { } interface EnumeratorConstructor { - new (collection: SafeArray | { Item(index: any): T }): Enumerator; - new (collection: any): Enumerator; + new (collection: { Item(index: any): T }): Enumerator; + // new (collection: any): Enumerator; } declare var Enumerator: EnumeratorConstructor; diff --git a/types/activex-iwshruntimelibrary/activex-iwshruntimelibrary-tests.ts b/types/activex-iwshruntimelibrary/activex-iwshruntimelibrary-tests.ts new file mode 100644 index 0000000000..67efbd3eca --- /dev/null +++ b/types/activex-iwshruntimelibrary/activex-iwshruntimelibrary-tests.ts @@ -0,0 +1,62 @@ +/// + +const collectionToArray = (col: { Item(key: any): T }): T[] => { + const results: T[] = []; + const enumerator = new Enumerator(col); + enumerator.moveFirst(); + while (!enumerator.atEnd()) { + results.push(enumerator.item()); + enumerator.moveNext(); + } + return results; +}; + +const wshn = new ActiveXObject('WScript.Network'); + +// https://msdn.microsoft.com/en-us/library/s6wt333f(v=vs.84).aspx +// https://msdn.microsoft.com/en-us/library/wck0hkd7(v=vs.84).aspx +// https://msdn.microsoft.com/en-us/library/tte130y1(v=vs.84).aspx +// https://msdn.microsoft.com/en-us/library/3fxhka75(v=vs.84).aspx +{ + WScript.Echo('Domain = ' + wshn.UserDomain); + WScript.Echo('Computer Name = ' + wshn.ComputerName); + WScript.Echo('User Name = ' + wshn.UserName); +} + +// https://msdn.microsoft.com/en-us/library/zsdh7hkb(v=vs.84).aspx +wshn.AddWindowsPrinterConnection('\\\\printserv\\DefaultPrinter'); + +// https://msdn.microsoft.com/en-us/library/kxsdca3c(v=vs.84).aspx +wshn.AddPrinterConnection("LPT1", "\\\\Server\\Print1"); + +// https://msdn.microsoft.com/en-us/library/t9zt39at(v=vs.84).aspx +// https://msdn.microsoft.com/en-us/library/zhds6k80(v=vs.84).aspx +{ + const drives = wshn.EnumNetworkDrives(); + const printers = wshn.EnumPrinterConnections(); + WScript.Echo("Network drive mappings:"); + for (let i = 0; i < drives.length; i += 2) { + WScript.Echo(`Drive ${drives.Item(i)} = ${drives.Item(i + 1)}`); + } + WScript.Echo(''); + WScript.Echo("Network printer mappings:"); + for (let i = 0; i < printers.length; i += 2) { + WScript.Echo(`Port ${printers.Item(i)} = ${printers.Item(i + 1)}`); + } +} + +// https://msdn.microsoft.com/en-us/library/8kst88h6(v=vs.84).aspx +wshn.MapNetworkDrive('E:', '\\\\Server\\Public'); + +// https://msdn.microsoft.com/en-us/library/d16d7wbf(v=vs.84).aspx +wshn.RemoveNetworkDrive('E:'); + +// https://msdn.microsoft.com/en-us/library/tsbh2yy7(v=vs.84).aspx +wshn.RemovePrinterConnection('\\\\PRN-CORP1\\B41-4523-A', true, true); + +// https://msdn.microsoft.com/en-us/library/2ccwwdct(v=vs.84).aspx +{ + const printerPath = "\\\\research\\library1"; + wshn.AddWindowsPrinterConnection(printerPath); + wshn.SetDefaultPrinter(printerPath); +} diff --git a/types/activex-iwshruntimelibrary/index.d.ts b/types/activex-iwshruntimelibrary/index.d.ts new file mode 100644 index 0000000000..fad992e185 --- /dev/null +++ b/types/activex-iwshruntimelibrary/index.d.ts @@ -0,0 +1,437 @@ +// Type definitions for Windows Script Host Runtime Object Model 0.0 +// Project: https://msdn.microsoft.com/en-us/library/9bbdkx3k.aspx +// Definitions by: Zev Spitz +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.6 + +/// + +declare namespace IWshRuntimeLibrary { + type WindowStyle = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10; + type ShortcutWindowStyle = 1 | 3 | 7; + + const enum ButtonType { + OK, + OKCancel, + AbortRetryIgnore, + YesNoCancel, + YesNo, + RetryCancel, + CancelTryagainContinue + } + + const enum EventType { + AuditFailure = 5, + AuditSuccess = 4, + Error = 1, + Information = 3, + Success = 0, + Warning = 2 + } + + const enum IconType { + Stop = 16, + QuestionMark = 32, + ExclamationMakr = 48, + InformationMark = 64, + } + + const enum PopupType { + SecondButtonDefault = 256, + ThirdButtonDefault = 512, + Modal = 4096, + RightJustified = 524288, + RTL = 1048576, + } + + const enum PopupSelection { + NoButton = -1, + OK = 1, + Cancel = 2, + Abort = 3, + Retry = 4, + Ignore = 5, + Yes = 6, + No = 7, + TryAgain = 10, + Continue = 11, + } + + const enum WshExecStatus { + WshFailed = 2, + WshFinished = 1, + WshRunning = 0, + } + + const enum WshWindowStyle { + WshHide = 0, + WshMaximizedFocus = 3, + WshMinimizedFocus = 2, + WshMinimizedNoFocus = 6, + WshNormalFocus = 1, + WshNormalNoFocus = 4, + } + + class TextStreamBase { + /** + * The column number of the current character position in an input stream. + */ + Column: number; + + /** + * The current line number in an input stream. + */ + Line: number; + + /** + * Closes a text stream. + * It is not necessary to close standard streams; they close automatically when the process ends. If + * you close a standard stream, be aware that any other pointers to that standard stream become invalid. + */ + Close(): void; + } + + class TextStreamWriter extends TextStreamBase { + private 'IWshRuntimeLibrary.TextStreamWriter_typekey': TextStreamWriter; + private constructor(); + + /** + * Sends a string to an output stream. + */ + Write(s: string): void; + + /** + * Sends a specified number of blank lines (newline characters) to an output stream. + */ + WriteBlankLines(intLines: number): void; + + /** + * Sends a string followed by a newline character to an output stream. + */ + WriteLine(s: string): void; + } + + class TextStreamReader extends TextStreamBase { + private 'IWshRuntimeLibrary.TextStreamReader_typekey': TextStreamReader; + private constructor(); + + /** + * Returns a specified number of characters from an input stream, starting at the current pointer position. + * Does not return until the ENTER key is pressed. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + Read(characters: number): string; + + /** + * Returns all characters from an input stream. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + ReadAll(): string; + + /** + * Returns an entire line from an input stream. + * Although this method extracts the newline character, it does not add it to the returned string. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + ReadLine(): string; + + /** + * Skips a specified number of characters when reading from an input text stream. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + * @param characters Positive number of characters to skip forward. (Backward skipping is not supported.) + */ + Skip(characters: number): void; + + /** + * Skips the next line when reading from an input text stream. + * Can only be used on a stream in reading mode, not writing or appending mode. + */ + SkipLine(): void; + + /** + * Indicates whether the stream pointer position is at the end of a line. + */ + AtEndOfLine: boolean; + + /** + * Indicates whether the stream pointer position is at the end of a stream. + */ + AtEndOfStream: boolean; + } + + /** Generic Collection Object */ + interface WshCollection { + Count(): number; + Item(Index: any): any; + readonly length: number; + (Index: any): any; + } + + /** Environment Variables Collection Object */ + interface WshEnvironment { + Count(): number; + Item(Name: string): string; + readonly Length: number; + Remove(Name: string): void; + (Name: string): string; + } + + /** WSHExec object */ + class WshExec { + private 'IWshRuntimeLibrary.WshExec_typekey': WshExec; + private constructor(); + readonly ExitCode: number; + readonly ProcessID: number; + readonly Status: WshExecStatus; + readonly StdErr: TextStreamWriter; + readonly StdIn: TextStreamReader; + readonly StdOut: TextStreamWriter; + Terminate(): void; + } + + /** Network Object */ + class WshNetwork { + private 'IWshRuntimeLibrary.WshNetwork_typekey': WshNetwork; + private constructor(); + + /** + * Adds a remote MS-DOS-based printer connection to your computer system. + * @param LocalName Local name to assign to the connected printer. + * @param RemoteName Name of the remote printer. + * @param UpdateProfile [false] Whether the printer mapping is stored in the current user's profile. + * + * If you are mapping a remote printer using the profile of someone other than current user, you can specify _UserName_ and _Password_. + */ + AddPrinterConnection(LocalName: string, RemoteName: string, UpdateProfile?: boolean, UserName?: string, Password?: string): void; + + /** + * @param string Path to printer connection + * @param string [DriverName=''] + * @param string [Port='LPT1'] + * + * Unlike the **AddPrinterConnection** method, this method allows you to create a printer connection without directing it to a specific port, such as LPT1. + */ + AddWindowsPrinterConnection(PrinterName: string, DriverName?: string, Port?: string): void; + readonly ComputerName: string; + EnumNetworkDrives(): WshCollection; + EnumPrinterConnections(): WshCollection; + + /** + * Adds a remote MS-DOS-based printer connection to your computer system. + * @param LocalName Name by which the mapped drive will be known locally + * @param RemoteName Share's UNC name (\\xxx\yyy) + * @param UpdateProfile [false] Whether the printer mapping is stored in the current user's profile. + * + * If you are mapping a network drive using the profile of someone other than current user, you can specify _UserName_ and _Password_. + */ + MapNetworkDrive(LocalName: string, RemoteName: string, UpdateProfile?: boolean, UserName?: string, Password?: string): void; + readonly Organization: string; + + /** + * Removes a shared network drive from your computer system + * @param Name Name of the mapped drive you want to remove. This will be the drive letter if the drive has a mapping between a local name (drive letter) and a remote name (UNC name); + * it will be the UNC path if there is no such mapping + * @param Force [false] Remove the connections even if the resource is in use + * @param UpdateProfile [false] Remove the mapping from the user's profile + */ + RemoveNetworkDrive(Name: string, Force?: boolean, UpdateProfile?: boolean): void; + + /** + * Removes a shared network printer connection from your computer system + * @param Name Name that identifies the printer. Can be a UNC name (in the form `\\xxx\yyy`) or a local name (such as `LPT1`) + * @param Force [false] Remove printer connection even if a user is still connected + * @param UpdateProfile [false] Remove the printer connection from the user's profile + * + * The **RemovePrinterConnection** method removes both Windows and MS-DOS based printer connections. If the printer was connected using the method **AddPrinterConnection**, + * _Name_ must be the printer's local name. If the printer was connected using the **AddWindowsPrinterConnection** method or was added manually (using the Add Printer wizard), + * then _Name_ must be the printer's UNC name. + */ + RemovePrinterConnection(Name: string, Force?: true, UpdateProfile?: true): void; + SetDefaultPrinter(Name: string): void; + readonly Site: string; + readonly UserDomain: string; + readonly UserName: string; + readonly UserProfile: string; + } + + /** Shell Object */ + class WshShell { + private 'IWshRuntimeLibrary.WshShell_typekey': WshShell; + private constructor(); + + /** + * Activates an application window + * @param App Title of application as it appears in the title bar, or the process ID + * @param Wait + * + * This method changes the focus to the named application or window. The window must be attached to the calling thread's message queue. It does not affect whether it is maximized or + * minimized. Focus moves from the activated application window when the user takes action to change the focus (or closes the window). + * + * In determining which application to activate, the specified title is compared to the title string of each running application. If no exact match exists, any application whose title + * string begins with title is activated. If an application still cannot be found, any application whose title string ends with title is activated. If more than one instance of the + * application named by title exists, one instance is arbitrarily activated. + * + * The method might return `false` under the following conditions: + * + * * The window is not brought to the foreground. + * * The window is brought to the foreground but is not given keyboard focus. + * * A Command Prompt window (`cmd.exe`) is brought to the foreground and is given keyboard focus. + */ + AppActivate(App: string | number, Wait?: any): boolean; + + /** + * Creates a shortcut + * @param PathLink Path where the shortcut should be created + * + * The shortcut object exists in memory until you save it to disk with the **Save** method. + */ + CreateShortcut(PathLink: string): WshShortcut | WshURLShortcut; + CurrentDirectory: string; + + /** + * Note that **Environment** doesn't actually return a callable object; the call is only usable in the context of the **Environment** property. The following: + * + * let env = new ActiveXObject('WScript.Shell').Environment; + * WScript.Echo(env('System')); + * + * will return an empty string, unless there is an environment variable named `System` + */ + Environment: WshEnvironment & ((Type: 'System' | 'User' | 'Process' | 'Volatile') => WshEnvironment); + Exec(Command: string): WshExec; + ExpandEnvironmentStrings(Src: string): string; + + /** @param string [Target=''] Name of the computer system where the event should be logged; default is the local computer system */ + LogEvent(Type: EventType, Message: string, Target?: string): boolean; + Popup(Text: string, SecondsToWait?: number, Title?: string, Type?: ButtonType | IconType | PopupType): PopupSelection; + RegDelete(Name: string): void; + + /** + * Returns the value of a key or value-name from the registry + * @param Name Key (ends with a final `\`) or value-name (doesn't end with a final `\`) + * + * Returns one of the following, based on the registry value type: + * + * * **REG_SZ** -- a string + * * **REG_DWORD** -- a number + * * **REG_SBINARY** -- a binary value, as a COM SafeArray containing integers + * * **REG_EXPAND_SZ** -- an expandable string + * * **REG_MULTI_SZ** -- an array of srings, as a COM SafeArray + */ + RegRead(Name: string): string | number | SafeArray | SafeArray; + + /** + * Creates a new key, adds another value-name to an existing key and assigns it a value, or changes the value of an existing value-name + * @param Name Key (ends with a final `\`) or value-name (doesn't end with a final `\`) + * @param Value Will be coerced to `string` or `integer` based on the value-name type: + * `REG_SZ | REG_EXPAND_SZ` will be converted to `string`; + * `REG_DWORD | REG_BINARY` will be converted to `integer` + * @param Type + */ + RegWrite(Name: string, Value: any, Type?: 'REG_SZ' | 'REG_DWORD' | 'REG_BINARY' | 'REG_EXPAND_SZ'): void; + + /** + * Runs a program in a new process. + * @param Command Command-line, including any parameters you want to pass to the executable file. + * @param WindowStyle Appearance of the program window. Not all programs make use of this information. + * @param WaitOnReturn Block script until program finishes executing. + * + * If `false` is passed into **WaitOnReturn**, the **Run** method will return 0 immediately. If `true` is passed in, **Run** will return the program's error code, if any. + * + * Environment variables will be expanded within the command line. + * + * Passing a registered file type will automatically open the program registered to the file type. + * + * Possible values for **WindowStyle**: + * + * * **0** -- Hides the window and activates another window. + * * **1** -- Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag + * when displaying the window for the first time. + * * **2** -- Activates the window and displays it as a minimized window. + * * **3** -- Activates the window and displays it as a maximized window. + * * **4** -- Displays a window in its most recent size and position. The active window remains active. + * * **5** -- Activates the window and displays it in its current size and position. + * * **6** -- Minimizes the specified window and activates the next top-level window in the Z order. + * * **7** -- Displays the window as a minimized window. The active window remains active. + * * **8** -- Displays the window in its current state. The active window remains active. + * * **9** -- Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag + * when restoring a minimized window. + * * **10** -- Sets the show-state based on the state of the program that started the application. + */ + Run(Command: string, WindowStyle?: WindowStyle, WaitOnReturn?: boolean): number; + SendKeys(Keys: string, Wait?: boolean): void; + readonly SpecialFolders: WshCollection; + } + + /** Shortcut Object */ + class WshShortcut { + private 'IWshRuntimeLibrary.WshShortcut_typekey': WshShortcut; + private constructor(); + Arguments: string; + Description: string; + readonly FullName: string; + Hotkey: string; + IconLocation: string; + Load(PathLink: string): void; + readonly RelativePath: string; + Save(): void; + TargetPath: string; + + /** + * Possible values: + * + * * **1** -- Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag + * when displaying the window for the first time. + * * **3** -- Activates the window and displays it as a maximized window. + * * **7** -- Displays the window as a minimized window. The active window remains active. + */ + WindowStyle: ShortcutWindowStyle; + WorkingDirectory: string; + } + + /** URLShortcut Object */ + class WshURLShortcut { + private 'IWshRuntimeLibrary.WshURLShortcut_typekey': WshURLShortcut; + private constructor(); + readonly FullName: string; + Load(PathLink: string): void; + Save(): void; + TargetPath: string; + } +} +declare namespace WSHControllerLibrary { + class WSHController { + private 'WSHControllerLibrary.WSHController_typekey': WSHController; + private constructor(); + CreateScript(Command: string, Server?: any): any; + } +} + +declare namespace ScriptSigner { + class Signer { + private 'ScriptSigner.Signer_typekey': Signer; + private constructor(); + + /** @param Store [Store='my'] */ + Sign(FileExtension: string, Text: string, Certificate: string, Store?: string): string; + + /** @param Store [Store='my'] */ + SignFile(FileName: string, Certificate: string, Store?: string): void; + + /** @param ShowUI [ShowUI=false] */ + Verify(FileExtension: string, Text: string, ShowUI?: boolean): boolean; + + /** @param ShowUI [ShowUI=false] */ + VerifyFile(FileName: string, ShowUI?: boolean): boolean; + } +} + +interface ActiveXObjectNameMap { + 'WSHController': WSHControllerLibrary.WSHController; + 'Scripting.Signer': ScriptSigner.Signer; + 'WScript.Network': IWshRuntimeLibrary.WshNetwork; + 'WScript.Shell': IWshRuntimeLibrary.WshShell; +} + +interface ActiveXObject { + set(obj: IWshRuntimeLibrary.WshEnvironment, propertyName: 'Item', parameterTypes: [string], newValue: string): void; +} diff --git a/types/activex-iwshruntimelibrary/tsconfig.json b/types/activex-iwshruntimelibrary/tsconfig.json new file mode 100644 index 0000000000..885ca81980 --- /dev/null +++ b/types/activex-iwshruntimelibrary/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es5" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "activex-iwshruntimelibrary-tests.ts" + ] +} diff --git a/types/activex-iwshruntimelibrary/tslint.json b/types/activex-iwshruntimelibrary/tslint.json new file mode 100644 index 0000000000..ed91c31f9c --- /dev/null +++ b/types/activex-iwshruntimelibrary/tslint.json @@ -0,0 +1,6 @@ +{ + "extends": "dtslint/dt.json", + "rules": { + "no-const-enum": false + } +} \ No newline at end of file diff --git a/types/activex-libreoffice/activex-libreoffice-tests.ts b/types/activex-libreoffice/activex-libreoffice-tests.ts index bafe014f59..87cf55eb8c 100644 --- a/types/activex-libreoffice/activex-libreoffice-tests.ts +++ b/types/activex-libreoffice/activex-libreoffice-tests.ts @@ -1,3 +1,5 @@ +/// + (() => { // https://wiki.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Bridge/Automation_Bridge diff --git a/types/activex-libreoffice/index.d.ts b/types/activex-libreoffice/index.d.ts index 1698317e8f..7d8e109861 100644 --- a/types/activex-libreoffice/index.d.ts +++ b/types/activex-libreoffice/index.d.ts @@ -2,7 +2,9 @@ // Project: https://api.libreoffice.org/ // Definitions by: Zev Spitz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.3 +// TypeScript Version: 2.6 + +/// declare class type { private typekey: type; @@ -12,9 +14,6 @@ declare class sequence { private typekey: sequence; } -// tslint:disable-next-line no-empty-interface -interface SafeArray {} - declare namespace com.sun.star { namespace accessibility { /** diff --git a/types/activex-libreoffice/tsconfig.json b/types/activex-libreoffice/tsconfig.json index 712ea46ca1..b6e9a7be63 100644 --- a/types/activex-libreoffice/tsconfig.json +++ b/types/activex-libreoffice/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-msforms/index.d.ts b/types/activex-msforms/index.d.ts index c896cc4bf5..a9b5e8f8ac 100644 --- a/types/activex-msforms/index.d.ts +++ b/types/activex-msforms/index.d.ts @@ -1564,7 +1564,6 @@ interface ActiveXObject { set(obj: MSForms.ComboBox | MSForms.ListBox, propertyName: 'Column' | 'List', parameterTypes: [number, number] | [number], newValue: any): void; set(obj: MSForms.ComboBox | MSForms.ListBox, propertyName: 'Column' | 'List', parameterTypes: number[], newValue: SafeArray): void; set(obj: MSForms.ListBox, propertyName: 'Selected', parameterTypes: [any], newValue: boolean): void; - new(progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { diff --git a/types/activex-msforms/tsconfig.json b/types/activex-msforms/tsconfig.json index 38f907552d..074a493c66 100644 --- a/types/activex-msforms/tsconfig.json +++ b/types/activex-msforms/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-mshtml/activex-mshtml-tests.ts b/types/activex-mshtml/activex-mshtml-tests.ts index 324d3d09e2..bdf7f3dec3 100644 --- a/types/activex-mshtml/activex-mshtml-tests.ts +++ b/types/activex-mshtml/activex-mshtml-tests.ts @@ -1,3 +1,5 @@ +/// + let htmlfile = new ActiveXObject('htmlfile'); let htmldoc = htmlfile.createDocumentFromUrl('https://msdn.microsoft.com/en-us/library/aa741317(v=vs.85).aspx', 'null'); let length = htmldoc.all.length; diff --git a/types/activex-mshtml/index.d.ts b/types/activex-mshtml/index.d.ts index 94466927d7..93b307d3ba 100644 --- a/types/activex-mshtml/index.d.ts +++ b/types/activex-mshtml/index.d.ts @@ -2,7 +2,7 @@ // Project: https://msdn.microsoft.com/en-us/library/aa741317(v=vs.85).aspx // Definitions by: Zev Spitz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.3 +// TypeScript Version: 2.6 declare namespace MSHTML { const enum _BEHAVIOR_EVENT { @@ -35570,7 +35570,6 @@ interface ActiveXObject { on(obj: MSHTML.SVGTSpanElement, event: 'onactivate' | 'onafterupdate' | 'onbeforeactivate' | 'onbeforecopy' | 'onbeforecut' | 'onbeforedeactivate' | 'onbeforeeditfocus' | 'onbeforepaste' | 'onbeforeupdate' | 'onblur' | 'oncellchange' | 'onclick' | 'oncontextmenu' | 'oncontrolselect' | 'oncopy' | 'oncut' | 'ondataavailable' | 'ondatasetchanged' | 'ondatasetcomplete' | 'ondblclick' | 'ondeactivate' | 'ondrag' | 'ondragend' | 'ondragenter' | 'ondragleave' | 'ondragover' | 'ondragstart' | 'ondrop' | 'onerrorupdate' | 'onfilterchange' | 'onfocus' | 'onfocusin' | 'onfocusout' | 'onhelp' | 'onkeydown' | 'onkeypress' | 'onkeyup' | 'onlayoutcomplete' | 'onlosecapture' | 'onmousedown' | 'onmouseenter' | 'onmouseleave' | 'onmousemove' | 'onmouseout' | 'onmouseover' | 'onmouseup' | 'onmousewheel' | 'onmove' | 'onmoveend' | 'onmovestart' | 'onpage' | 'onpaste' | 'onpropertychange' | 'onreadystatechange' | 'onresize' | 'onresizeend' | 'onresizestart' | 'onrowenter' | 'onrowexit' | 'onrowsdelete' | 'onrowsinserted' | 'onscroll' | 'onselectstart', handler: (this: MSHTML.SVGTSpanElement, parameter: {}) => void): void; on(obj: MSHTML.SVGUseElement, event: 'onactivate' | 'onafterupdate' | 'onbeforeactivate' | 'onbeforecopy' | 'onbeforecut' | 'onbeforedeactivate' | 'onbeforeeditfocus' | 'onbeforepaste' | 'onbeforeupdate' | 'onblur' | 'oncellchange' | 'onclick' | 'oncontextmenu' | 'oncontrolselect' | 'oncopy' | 'oncut' | 'ondataavailable' | 'ondatasetchanged' | 'ondatasetcomplete' | 'ondblclick' | 'ondeactivate' | 'ondrag' | 'ondragend' | 'ondragenter' | 'ondragleave' | 'ondragover' | 'ondragstart' | 'ondrop' | 'onerrorupdate' | 'onfilterchange' | 'onfocus' | 'onfocusin' | 'onfocusout' | 'onhelp' | 'onkeydown' | 'onkeypress' | 'onkeyup' | 'onlayoutcomplete' | 'onlosecapture' | 'onmousedown' | 'onmouseenter' | 'onmouseleave' | 'onmousemove' | 'onmouseout' | 'onmouseover' | 'onmouseup' | 'onmousewheel' | 'onmove' | 'onmoveend' | 'onmovestart' | 'onpage' | 'onpaste' | 'onpropertychange' | 'onreadystatechange' | 'onresize' | 'onresizeend' | 'onresizestart' | 'onrowenter' | 'onrowexit' | 'onrowsdelete' | 'onrowsinserted' | 'onscroll' | 'onselectstart', handler: (this: MSHTML.SVGUseElement, parameter: {}) => void): void; on(obj: MSHTML.SVGViewElement, event: 'onactivate' | 'onafterupdate' | 'onbeforeactivate' | 'onbeforecopy' | 'onbeforecut' | 'onbeforedeactivate' | 'onbeforeeditfocus' | 'onbeforepaste' | 'onbeforeupdate' | 'onblur' | 'oncellchange' | 'onclick' | 'oncontextmenu' | 'oncontrolselect' | 'oncopy' | 'oncut' | 'ondataavailable' | 'ondatasetchanged' | 'ondatasetcomplete' | 'ondblclick' | 'ondeactivate' | 'ondrag' | 'ondragend' | 'ondragenter' | 'ondragleave' | 'ondragover' | 'ondragstart' | 'ondrop' | 'onerrorupdate' | 'onfilterchange' | 'onfocus' | 'onfocusin' | 'onfocusout' | 'onhelp' | 'onkeydown' | 'onkeypress' | 'onkeyup' | 'onlayoutcomplete' | 'onlosecapture' | 'onmousedown' | 'onmouseenter' | 'onmouseleave' | 'onmousemove' | 'onmouseout' | 'onmouseover' | 'onmouseup' | 'onmousewheel' | 'onmove' | 'onmoveend' | 'onmovestart' | 'onpage' | 'onpaste' | 'onpropertychange' | 'onreadystatechange' | 'onresize' | 'onresizeend' | 'onresizestart' | 'onrowenter' | 'onrowexit' | 'onrowsdelete' | 'onrowsinserted' | 'onscroll' | 'onselectstart', handler: (this: MSHTML.SVGViewElement, parameter: {}) => void): void; - new(progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { diff --git a/types/activex-mshtml/tsconfig.json b/types/activex-mshtml/tsconfig.json index deba2b6ba3..1ef33423ee 100644 --- a/types/activex-mshtml/tsconfig.json +++ b/types/activex-mshtml/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-msxml2/activex-msxml2-tests.ts b/types/activex-msxml2/activex-msxml2-tests.ts index 470f35d785..01ef12802e 100644 --- a/types/activex-msxml2/activex-msxml2-tests.ts +++ b/types/activex-msxml2/activex-msxml2-tests.ts @@ -1,3 +1,5 @@ +/// + // https://msdn.microsoft.com/en-us/library/ms764708(v=vs.85).aspx { const dom = new ActiveXObject('Msxml2.DOMDocument.6.0'); diff --git a/types/activex-msxml2/index.d.ts b/types/activex-msxml2/index.d.ts index 6f43ba02c5..3ee2b1f050 100644 --- a/types/activex-msxml2/index.d.ts +++ b/types/activex-msxml2/index.d.ts @@ -2,7 +2,9 @@ // Project: https://msdn.microsoft.com/en-us/library/ms763742.aspx // Definitions by: Zev Spitz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.3 +// TypeScript Version: 2.6 + +/// declare namespace MSXML2 { /** Schema Object Model Content Types */ @@ -2775,7 +2777,6 @@ declare namespace MSXML2 { interface ActiveXObject { on(obj: MSXML2.DOMDocument60, event: 'ondataavailable' | 'onreadystatechange', handler: (this: MSXML2.DOMDocument60, parameter: {}) => void): void; on(obj: MSXML2.FreeThreadedDOMDocument60, event: 'ondataavailable' | 'onreadystatechange', handler: (this: MSXML2.FreeThreadedDOMDocument60, parameter: {}) => void): void; - new(progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { diff --git a/types/activex-msxml2/tsconfig.json b/types/activex-msxml2/tsconfig.json index 49c53f71ca..fe55b33d3c 100644 --- a/types/activex-msxml2/tsconfig.json +++ b/types/activex-msxml2/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-office/activex-office-tests.ts b/types/activex-office/activex-office-tests.ts index 7aab0b4521..4dd24fd547 100644 --- a/types/activex-office/activex-office-tests.ts +++ b/types/activex-office/activex-office-tests.ts @@ -1,3 +1,4 @@ +/// /// const collectionToArray = (col: { Item(key: any): T }): T[] => { diff --git a/types/activex-office/tsconfig.json b/types/activex-office/tsconfig.json index 729657e813..6ded50cfda 100644 --- a/types/activex-office/tsconfig.json +++ b/types/activex-office/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-outlook/index.d.ts b/types/activex-outlook/index.d.ts index 37628722b5..2b316d80bd 100644 --- a/types/activex-outlook/index.d.ts +++ b/types/activex-outlook/index.d.ts @@ -4,6 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 +/// /// /// @@ -5855,7 +5856,6 @@ interface ActiveXObject { on(obj: Outlook.TaskRequestDeclineItem, event: 'AfterWrite' | 'BeforeRead' | 'Read' | 'Unload', handler: (this: Outlook.TaskRequestDeclineItem, parameter: {}) => void): void; on(obj: Outlook.TaskRequestItem, event: 'AfterWrite' | 'BeforeRead' | 'Read' | 'Unload', handler: (this: Outlook.TaskRequestItem, parameter: {}) => void): void; on(obj: Outlook.TaskRequestUpdateItem, event: 'AfterWrite' | 'BeforeRead' | 'Read' | 'Unload', handler: (this: Outlook.TaskRequestUpdateItem, parameter: {}) => void): void; - new(progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { diff --git a/types/activex-outlook/tsconfig.json b/types/activex-outlook/tsconfig.json index 1a9fddc714..1a7c466608 100644 --- a/types/activex-outlook/tsconfig.json +++ b/types/activex-outlook/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-powerpoint/activex-powerpoint-tests.ts b/types/activex-powerpoint/activex-powerpoint-tests.ts index 3f2bedf8cd..eb5a2e4c05 100644 --- a/types/activex-powerpoint/activex-powerpoint-tests.ts +++ b/types/activex-powerpoint/activex-powerpoint-tests.ts @@ -1,5 +1,5 @@ // tslint:disable-next-line no-unnecessary-generics -const collectionToArray = (col: any): T[] => { +const collectionToArray = (col: {Item(index: any): T}): T[] => { const results: T[] = []; const enumerator = new Enumerator(col); enumerator.moveFirst(); @@ -13,8 +13,8 @@ const collectionToArray = (col: any): T[] => { const app = new ActiveXObject('PowerPoint.Application'); (() => { // delete empty textboxes in PowerPoint - collectionToArray(app.ActivePresentation.Slides).forEach(slide => { - collectionToArray(slide.Shapes).filter(shape => + collectionToArray(app.ActivePresentation.Slides).forEach(slide => { + collectionToArray(slide.Shapes).filter(shape => shape.Type === Office.MsoShapeType.msoTextBox && shape.TextFrame.TextRange.Text.trim() === '' ).forEach(shape => shape.Delete()); diff --git a/types/activex-powerpoint/index.d.ts b/types/activex-powerpoint/index.d.ts index ee59fd0be4..34e722a8a0 100644 --- a/types/activex-powerpoint/index.d.ts +++ b/types/activex-powerpoint/index.d.ts @@ -5374,7 +5374,6 @@ interface ActiveXObject { this: PowerPoint.Application, parameter: {readonly Sel: PowerPoint.Selection, Cancel: boolean}) => void): void; on(obj: PowerPoint.Application, event: 'WindowSelectionChange', argNames: ['Sel'], handler: (this: PowerPoint.Application, parameter: {readonly Sel: PowerPoint.Selection}) => void): void; on(obj: PowerPoint.OLEControl, event: 'GotFocus' | 'LostFocus', handler: (this: PowerPoint.OLEControl, parameter: {}) => void): void; - new(progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { diff --git a/types/activex-powerpoint/tsconfig.json b/types/activex-powerpoint/tsconfig.json index 8a0392da3f..25bcee9fa3 100644 --- a/types/activex-powerpoint/tsconfig.json +++ b/types/activex-powerpoint/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-scripting/activex-scripting-tests.ts b/types/activex-scripting/activex-scripting-tests.ts index 313e480cb5..f3ee3218ca 100644 --- a/types/activex-scripting/activex-scripting-tests.ts +++ b/types/activex-scripting/activex-scripting-tests.ts @@ -1,3 +1,5 @@ +/// + // Note -- running these tests under cscript requires some ES5 polyfills const collectionToArray = (col: { Item(key: any): T }): T[] => { diff --git a/types/activex-scripting/index.d.ts b/types/activex-scripting/index.d.ts index 42e4f0c9e0..0d2ae52343 100644 --- a/types/activex-scripting/index.d.ts +++ b/types/activex-scripting/index.d.ts @@ -4,6 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 +/// + declare namespace Scripting { // tslint:disable-next-line:no-const-enum const enum CompareMethod { @@ -489,8 +491,7 @@ declare namespace Scripting { } interface ActiveXObject { - new (progid: K): ActiveXObjectNameMap[K]; - set(obj: Scripting.Dictionary, propertyName: 'Item', parameterTypes: [any], newValue: any): void; + set(obj: Scripting.Dictionary, propertyName: 'Item', parameterTypes: [TKey], newValue: TValue): void; } interface ActiveXObjectNameMap { @@ -498,3 +499,7 @@ interface ActiveXObjectNameMap { 'Scripting.Encoder': Scripting.Encoder; 'Scripting.FileSystemObject': Scripting.FileSystemObject; } + +interface EnumeratorConstructor { + new (dict: Scripting.Dictionary): Enumerator; +} diff --git a/types/activex-scripting/tsconfig.json b/types/activex-scripting/tsconfig.json index e2008551fd..11cfcc44a4 100644 --- a/types/activex-scripting/tsconfig.json +++ b/types/activex-scripting/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-shdocvw/index.d.ts b/types/activex-shdocvw/index.d.ts index 86568f6c5d..f450ea6112 100644 --- a/types/activex-shdocvw/index.d.ts +++ b/types/activex-shdocvw/index.d.ts @@ -4,6 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 +/// + declare namespace SHDocVw { // tslint:disable-next-line no-const-enum const enum BrowserBarConstants { @@ -1562,7 +1564,6 @@ interface ActiveXObject { on(obj: SHDocVw.ShellNameSpace, event: 'DoubleClick' | 'Initialized' | 'SelectionChange', handler: (this: SHDocVw.ShellNameSpace, parameter: {}) => void): void; on(obj: SHDocVw.WebBrowser, event: 'DownloadBegin' | 'DownloadComplete' | 'OnQuit', handler: (this: SHDocVw.WebBrowser, parameter: {}) => void): void; on(obj: SHDocVw.WebBrowser_V1, event: 'DownloadBegin' | 'DownloadComplete' | 'WindowActivate' | 'WindowMove' | 'WindowResize', handler: (this: SHDocVw.WebBrowser_V1, parameter: {}) => void): void; - new (progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { @@ -1571,7 +1572,3 @@ interface ActiveXObjectNameMap { 'Shell.UIHelper': SHDocVw.ShellUIHelper; 'ShellNameSpace.ShellNameSpace': SHDocVw.ShellNameSpace; } - -interface EnumeratorConstructor { - new(col: SHDocVw.ShellWindows): Enumerator; -} diff --git a/types/activex-shdocvw/tsconfig.json b/types/activex-shdocvw/tsconfig.json index 1907cb1ef6..2a388d4c7d 100644 --- a/types/activex-shdocvw/tsconfig.json +++ b/types/activex-shdocvw/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-shell/activex-shell-tests.ts b/types/activex-shell/activex-shell-tests.ts index f236f6e592..b9fd3b18fd 100644 --- a/types/activex-shell/activex-shell-tests.ts +++ b/types/activex-shell/activex-shell-tests.ts @@ -1,4 +1,4 @@ -/// +/// const shell = new ActiveXObject('Shell.Application'); diff --git a/types/activex-shell/index.d.ts b/types/activex-shell/index.d.ts index cb59a11c5e..f12d135979 100644 --- a/types/activex-shell/index.d.ts +++ b/types/activex-shell/index.d.ts @@ -1001,7 +1001,6 @@ interface ActiveXObject { on( obj: Shell32.ShellFolderViewOC, event: 'BeginDrag' | 'DefaultVerbInvoked' | 'EnumDone' | 'SelectionChanged' | 'VerbInvoked', handler: (this: Shell32.ShellFolderViewOC, parameter: {}) => void): void; - new (progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { diff --git a/types/activex-shell/tsconfig.json b/types/activex-shell/tsconfig.json index f4b549f649..364b5716de 100644 --- a/types/activex-shell/tsconfig.json +++ b/types/activex-shell/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-stdole/index.d.ts b/types/activex-stdole/index.d.ts index e738e4f03d..070a84a30a 100644 --- a/types/activex-stdole/index.d.ts +++ b/types/activex-stdole/index.d.ts @@ -4,15 +4,23 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 +/// + declare namespace stdole { + type IFontDisp = StdFont; + type IPictureDisp = StdPicture; type OLE_COLOR = number; type OLE_XPOS_CONTAINER = number; + type OLE_XPOS_PIXELS = number; + type OLE_YPOS_CONTAINER = number; + type OLE_YPOS_PIXELS = number; + const enum LoadPictureConstants { Color = 4, Default = 0, @@ -79,7 +87,6 @@ declare namespace stdole { interface ActiveXObject { on(obj: stdole.StdFont, event: 'FontChanged', argNames: ['PropertyName'], handler: (this: stdole.StdFont, parameter: {readonly PropertyName: string}) => void): void; - new(progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { diff --git a/types/activex-stdole/tsconfig.json b/types/activex-stdole/tsconfig.json index cbe3ce7aae..24ea6a5417 100644 --- a/types/activex-stdole/tsconfig.json +++ b/types/activex-stdole/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-vbide/activex-vbide-tests.ts b/types/activex-vbide/activex-vbide-tests.ts index 02209ec9bd..5780d36b1a 100644 --- a/types/activex-vbide/activex-vbide-tests.ts +++ b/types/activex-vbide/activex-vbide-tests.ts @@ -1,3 +1,4 @@ +/// /// const collectionToArray = (col: { Item(key: any): T }): T[] => { diff --git a/types/activex-vbide/tsconfig.json b/types/activex-vbide/tsconfig.json index 6fb205a3c4..5d27488056 100644 --- a/types/activex-vbide/tsconfig.json +++ b/types/activex-vbide/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-wia/activex-wia-tests.ts b/types/activex-wia/activex-wia-tests.ts index 8fc7dcfd2e..25d025cc90 100644 --- a/types/activex-wia/activex-wia-tests.ts +++ b/types/activex-wia/activex-wia-tests.ts @@ -1,3 +1,5 @@ +/// + // Note -- running these tests under cscript requires some ES5 polyfills const collectionToArray = (col: { Item(key: any): T }): T[] => { diff --git a/types/activex-wia/index.d.ts b/types/activex-wia/index.d.ts index 18e474e09c..5a06471ff8 100644 --- a/types/activex-wia/index.d.ts +++ b/types/activex-wia/index.d.ts @@ -4,6 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 +/// + declare namespace WIA { /** String versions of globally unique identifiers (GUIDs) that identify common Device and Item commands. */ const enum CommandID { @@ -791,7 +793,6 @@ declare namespace WIA { } interface ActiveXObject { - new(progid: K): ActiveXObjectNameMap[K]; on(obj: WIA.DeviceManager, event: 'OnEvent', argNames: ['EventID', 'DeviceID', 'ItemID'], handler: ( this: WIA.DeviceManager, parameter: { readonly EventID: string, readonly DeviceID: string, readonly ItemID: string }) => void): void; set(obj: WIA.Vector, propertyName: 'Item', parameterTypes: [number], newValue: TItem): void; diff --git a/types/activex-wia/tsconfig.json b/types/activex-wia/tsconfig.json index e77b3d1b66..48ed56e82e 100644 --- a/types/activex-wia/tsconfig.json +++ b/types/activex-wia/tsconfig.json @@ -2,8 +2,7 @@ "compilerOptions": { "module": "commonjs", "lib": [ - "es5", - "scripthost" + "es5" ], "noImplicitAny": true, "noImplicitThis": true, diff --git a/types/activex-word/activex-word-tests.ts b/types/activex-word/activex-word-tests.ts index 4a0000e6fa..2b44a5ba22 100644 --- a/types/activex-word/activex-word-tests.ts +++ b/types/activex-word/activex-word-tests.ts @@ -1,5 +1,7 @@ +/// + // tslint:disable-next-line no-unnecessary-generics -const collectionToArray = (col: any): T[] => { +const collectionToArray = (col: {Item(index: any): T}): T[] => { const results: T[] = []; const enumerator = new Enumerator(col); enumerator.moveFirst(); @@ -233,7 +235,7 @@ const activeDoc = app.ActiveDocument; // looping through a collection -- https://msdn.microsoft.com/en-us/vba/word-vba/articles/looping-through-a-collection (() => { - collectionToArray(app.Documents) + collectionToArray(app.Documents) .forEach(openDocument => WScript.Echo(openDocument.Name)); const strMarks = collectionToArray(activeDoc.Bookmarks) diff --git a/types/activex-word/index.d.ts b/types/activex-word/index.d.ts index 879af9021d..f6f559ae16 100644 --- a/types/activex-word/index.d.ts +++ b/types/activex-word/index.d.ts @@ -4,6 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.6 +/// /// /// /// @@ -12496,7 +12497,6 @@ interface ActiveXObject { set(obj: Word.Document, propertyName: 'ActiveWritingStyle', parameterTypes: [any], newValue: string): void; set(obj: Word.Document, propertyName: 'Compatibility', parameterTypes: [Word.WdCompatibility], newValue: boolean): void; set(obj: Word.System, propertyName: 'PrivateProfileString', parameterTypes: [string, string, string], newValue: string): void; - new(progid: K): ActiveXObjectNameMap[K]; } interface ActiveXObjectNameMap { diff --git a/types/activex-word/tsconfig.json b/types/activex-word/tsconfig.json index c62626ca52..c5316c83c4 100644 --- a/types/activex-word/tsconfig.json +++ b/types/activex-word/tsconfig.json @@ -1,10 +1,7 @@ { "compilerOptions": { "module": "commonjs", - "lib": [ - "es5", - "scripthost" - ], + "lib": ["es5"], "noImplicitAny": true, "noImplicitThis": true, "strictNullChecks": true, diff --git a/types/algoliasearch/algoliasearch-tests.ts b/types/algoliasearch/algoliasearch-tests.ts index 96270b31eb..87fdb95a01 100644 --- a/types/algoliasearch/algoliasearch-tests.ts +++ b/types/algoliasearch/algoliasearch-tests.ts @@ -94,7 +94,8 @@ let _algoliaIndexSettings: IndexSettings = { allowCompressionOfIntegerArray: false, altCorrections: [{}], minProximity: 0, - placeholders: '', + placeholders: { '': [''] }, + camelCaseAttributes: [''], }; let _algoliaQueryParameters: QueryParameters = { diff --git a/types/algoliasearch/index.d.ts b/types/algoliasearch/index.d.ts index ba46f37ce6..b2890573ce 100644 --- a/types/algoliasearch/index.d.ts +++ b/types/algoliasearch/index.d.ts @@ -1406,52 +1406,6 @@ declare namespace algoliasearch { userData?: string | object; } - interface AlgoliaResponse { - /** - * Contains all the hits matching the query - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - hits: any[]; - /** - * Current page - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - page: number; - /** - * Number of total hits matching the query - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - nbHits: number; - /** - * Number of pages - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - nbPage: number; - /** - * Number of hits per pages - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - hitsPerPage: number; - /** - * Engine processing time (excluding network transfer) - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - processingTimeMS: number; - /** - * Query used to perform the search - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - query: string; - /** - * GET parameters used to perform the search - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - params: string; - facets: { - [facetName: string]: { [facetValue: string]: number }; - }; - } - namespace SearchForFacetValues { interface Parameters extends QueryParameters { /** @@ -1759,10 +1713,18 @@ declare namespace algoliasearch { minProximity?: number; /** * This is an advanced use-case to define a token substitutable by a list of words without having the original token searchable - * default: '' + * default: {} * https://github.com/algolia/algoliasearch-client-js#placeholders */ - placeholders?: any; + placeholders?: { + [name: string]: string[], + }; + /** + * List of attributes on which to do a decomposition of camel case words. + * + https://www.algolia.com/doc/api-reference/api-parameters/camelCaseAttributes/ + */ + camelCaseAttributes?: string[]; } interface Response { diff --git a/types/algoliasearch/lite/index.d.ts b/types/algoliasearch/lite/index.d.ts index b9932f1346..a567a917a8 100644 --- a/types/algoliasearch/lite/index.d.ts +++ b/types/algoliasearch/lite/index.d.ts @@ -8,9 +8,9 @@ // TypeScript Version: 2.2 declare namespace algoliasearch { - /* - Interface for the algolia client object - */ + /** + * Interface for the algolia client object + */ interface Client { /** * Initialization of the index @@ -502,52 +502,6 @@ declare namespace algoliasearch { userData?: string | object; } - interface AlgoliaResponse { - /** - * Contains all the hits matching the query - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - hits: any[]; - /** - * Current page - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - page: number; - /** - * Number of total hits matching the query - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - nbHits: number; - /** - * Number of pages - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - nbPage: number; - /** - * Number of hits per pages - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - hitsPerPage: number; - /** - * Engine processing time (excluding network transfer) - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - processingTimeMS: number; - /** - * Query used to perform the search - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - query: string; - /** - * GET parameters used to perform the search - * https://github.com/algolia/algoliasearch-client-js#response-format - */ - params: string; - facets: { - [facetName: string]: { [facetValue: string]: number }; - }; - } - namespace SearchForFacetValues { interface Parameters extends QueryParameters { /** diff --git a/types/allure-js-commons/allure-js-commons-tests.ts b/types/allure-js-commons/allure-js-commons-tests.ts new file mode 100644 index 0000000000..8ac15b6831 --- /dev/null +++ b/types/allure-js-commons/allure-js-commons-tests.ts @@ -0,0 +1,24 @@ +import Allure from "allure-js-commons"; + +const shouldMakeError = new Allure("test"); // $ExpectError +const allure = new Allure(); + +allure.startSuite("suite"); +allure.startCase("case"); +allure.startCase("case", 123456789); + +allure.endCase("passed"); +allure.endCase("pending"); +allure.endCase("skipped"); +allure.endCase("failed"); +allure.endCase("broken", 1232131232); +allure.endCase("error"); // $ExpectError + +allure.startStep("error"); +allure.endStep("error"); // $ExpectError + +allure.setDescription("description"); +allure.addAttachment("image", {}, "image/jpeg"); +allure.pendingCase("pending"); + +allure.endSuite(); diff --git a/types/allure-js-commons/index.d.ts b/types/allure-js-commons/index.d.ts new file mode 100644 index 0000000000..3ecd9aebf1 --- /dev/null +++ b/types/allure-js-commons/index.d.ts @@ -0,0 +1,111 @@ +// Type definitions for allure-js-commons 0.0 +// Project: https://github.com/allure-framework/allure-js-commons +// Definitions by: Denis Artyuhovich +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.7 + +declare class Allure { + constructor(); + + setOptions(options: Allure.Options): void; + + getCurrentSuite(): Allure.Suite; + + getCurrentTest(): Allure.Test; + + startSuite(suiteName: string, timestamp?: number): void; + + endSuite(timestamp?: number): void; + + startCase(testName: string, timestamp?: number): void; + + endCase(status: Allure.Status, err?: {}, timestamp?: number): void; + + startStep(stepName: string, timestamp?: number): void; + + endStep(status: Allure.Status, timestamp?: number): void; + + setDescription(description: string, timestamp?: number): void; + + addAttachment(attachmentName: string, buffer: any, type: string): void; + + pendingCase(testName: string, timestamp?: number): void; +} + +export = Allure; +export as namespace Allure; +declare namespace Allure { + interface Options { + targetDir: string; + } + + type Status = "passed" | "pending" | "skipped" | "failed" | "broken"; + + enum TYPE { + TEXT = "text", + HTML = "html", + MARKDOWN = "markdown" + } + + class Suite { + constructor(name: string, timestamp?: number); + + name: string; + + end(timestamp?: number): void; + + hasTests(): boolean; + + addTest(test: Test): boolean; + + toXML(): string; + } + + class Test { + constructor(name: string, timestamp?: number); + + setDescription(description: string, type: TYPE): void; + + addLabel(name: string, value: string): void; + + addParameter(kind: any, name: string, value: string): void; + + addStep(step: Step): void; + + addAttachment(attachment: Attachment): void; + + end(status: Status, error: Error, timestamp?: number): void; + + toXML(): string; + } + + class Description { + constructor(value: string, type: TYPE); + + toXML(): string; + } + + class Step { + constructor(name: string, timestamp?: number); + + addStep(step: Step): void; + + addAttachment(attachment: Attachment): void; + + end(status: Status, error: Error, timestamp?: number): void; + + toXML(): string; + } + + class Attachment { + constructor(title: string, source: any, size: number, mime: string); + + addStep(step: Step): void; + + addAttachment(attachment: Attachment): void; + + end(status: Status, error: Error, timestamp?: number): void; + + toXML(): string; + } +} diff --git a/types/allure-js-commons/tsconfig.json b/types/allure-js-commons/tsconfig.json new file mode 100644 index 0000000000..e536d9acbd --- /dev/null +++ b/types/allure-js-commons/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "esModuleInterop": true + }, + "files": [ + "index.d.ts", + "allure-js-commons-tests.ts" + ] +} diff --git a/types/allure-js-commons/tslint.json b/types/allure-js-commons/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/allure-js-commons/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/amazon-product-api/index.d.ts b/types/amazon-product-api/index.d.ts index 34bafd04f4..f266001632 100644 --- a/types/amazon-product-api/index.d.ts +++ b/types/amazon-product-api/index.d.ts @@ -33,6 +33,8 @@ interface IItemLookupOptions { searchIndex?: string; truncateReviewsAt?: number; variationPage?: string; + domain?: string; + request?: Function; } interface IBrowseNodeLookupOptions { diff --git a/types/angular-animate/index.d.ts b/types/angular-animate/index.d.ts index 6a51b368c8..f05ea66058 100644 --- a/types/angular-animate/index.d.ts +++ b/types/angular-animate/index.d.ts @@ -20,8 +20,11 @@ declare module 'angular' { interface IAnimateCallbackObject { eventFn?: (element: JQuery, doneFunction: Function, options: IAnimationOptions) => any; + beforeSetClass?: (element: JQuery, addedClasses: string, removedClasses: string, doneFunction: Function, options: IAnimationOptions) => any; setClass?: (element: JQuery, addedClasses: string, removedClasses: string, doneFunction: Function, options: IAnimationOptions) => any; + beforeAddClass?: (element: JQuery, addedClasses: string, doneFunction: Function, options: IAnimationOptions) => any; addClass?: (element: JQuery, addedClasses: string, doneFunction: Function, options: IAnimationOptions) => any; + beforeRemoveClass?: (element: JQuery, removedClasses: string, doneFunction: Function, options: IAnimationOptions) => any; removeClass?: (element: JQuery, removedClasses: string, doneFunction: Function, options: IAnimationOptions) => any; enter?: (element: JQuery, doneFunction: Function, options: IAnimationOptions) => any; leave?: (element: JQuery, doneFunction: Function, options: IAnimationOptions) => any; diff --git a/types/ansi-escapes/ansi-escapes-tests.ts b/types/ansi-escapes/ansi-escapes-tests.ts new file mode 100644 index 0000000000..7de77e797f --- /dev/null +++ b/types/ansi-escapes/ansi-escapes-tests.ts @@ -0,0 +1,3 @@ +import * as ansi from "ansi-escapes"; + +console.log(ansi.cursorUp(2) + ansi.cursorLeft === "\u001B[2A\u001B[1000D"); diff --git a/types/ansi-escapes/index.d.ts b/types/ansi-escapes/index.d.ts new file mode 100644 index 0000000000..519d429545 --- /dev/null +++ b/types/ansi-escapes/index.d.ts @@ -0,0 +1,57 @@ +// Type definitions for ansi-escapes 3.0 +// Project: https://github.com/sindresorhus/ansi-escapes +// Definitions by: Rong Shen +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare namespace Ansi { + interface ImageOptions { + width?: number; + height?: number; + preserveAspectRatio?: boolean; + } + + interface Term { + setCwd(cwd: string): string; + } + + interface AnsiEscapes { + cursorTo(x: number, y?: number): string; + cursorMove(x: number, y?: number): string; + cursorUp(count: number): string; + cursorDown(count: number): string; + cursorForward(count: number): string; + cursorBackward(count: number): string; + + cursorLeft: string; + cursorSavePosition: string; + cursorRestorePosition: string; + cursorGetPosition: string; + cursorNextLine: string; + cursorPrevLine: string; + cursorHide: string; + cursorShow: string; + + eraseLines(count: number): string; + + eraseEndLine: string; + eraseStartLine: string; + eraseLine: string; + eraseDown: string; + eraseUp: string; + eraseScreen: string; + scrollUp: string; + scrollDown: string; + + clearScreen: string; + beep: string; + + link(text: string, url: string): string; + image(buf: Buffer, opts?: ImageOptions): string; + iTerm: Term; + } +} + +declare const ansiEscapes: Ansi.AnsiEscapes; +export = ansiEscapes; diff --git a/types/ansi-escapes/tsconfig.json b/types/ansi-escapes/tsconfig.json new file mode 100644 index 0000000000..210be31288 --- /dev/null +++ b/types/ansi-escapes/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "ansi-escapes-tests.ts"] +} diff --git a/types/ansi-escapes/tslint.json b/types/ansi-escapes/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/ansi-escapes/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/argparse/argparse-tests.ts b/types/argparse/argparse-tests.ts index aef18b665b..ed714ada95 100644 --- a/types/argparse/argparse-tests.ts +++ b/types/argparse/argparse-tests.ts @@ -20,6 +20,12 @@ simpleExample.addArgument( help: 'bar foo', } ); +simpleExample.addArgument( + 'positional', + { + help: 'bar foo', + } +); simpleExample.printHelp(); console.log('-----------'); diff --git a/types/argparse/index.d.ts b/types/argparse/index.d.ts index d8907a2ecd..cf4d1f648e 100644 --- a/types/argparse/index.d.ts +++ b/types/argparse/index.d.ts @@ -2,6 +2,7 @@ // Project: https://github.com/nodeca/argparse // Definitions by: Andrew Schurman // Tomasz Łaziuk +// Sebastian Silbermann // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 @@ -34,7 +35,7 @@ export class SubParser { } export class ArgumentGroup { - addArgument(args: string[], options?: ArgumentOptions): void; + addArgument(args: string[] | string, options?: ArgumentOptions): void; addArgumentGroup(options?: ArgumentGroupOptions): ArgumentGroup; addMutuallyExclusiveGroup(options?: { required: boolean }): ArgumentGroup; setDefaults(options?: {}): void; diff --git a/types/atom/atom-tests.ts b/types/atom/atom-tests.ts index 57420d5059..9d01e194a9 100644 --- a/types/atom/atom-tests.ts +++ b/types/atom/atom-tests.ts @@ -1327,6 +1327,9 @@ function testMarkerLayer() { markers = markerLayer.findMarkers({ containsRange: [[0, 0], pos] }); markers = markerLayer.findMarkers({ containsRange: [[0, 0], [0, 0]] }); + const role = markerLayer.getRole(); + if (role) str = role; + // Marker creation marker = markerLayer.markRange(range); marker = markerLayer.markRange([pos, pos]); @@ -1738,6 +1741,10 @@ function testProject() { subscription = project.onDidAddBuffer(buffer => buffer.id); subscription = project.observeBuffers(buffer => buffer.getUri()); + subscription = project.onDidReplace(projectSpec => { + if (projectSpec != null) str = projectSpec.originPath; + }); + // Accessing the git repository repositories = project.getRepositories(); @@ -1950,32 +1957,54 @@ function testSelection() { selection.insertText("Replacement", { autoDecreaseIndent: true }); selection.insertText("Replacement", { normalizeLineEndings: true }); selection.insertText("Replacement", { undo: "skip" }); + selection.insertText("Replacement", { bypassReadOnly: true }); selection.insertText("Replacement", { select: true, autoIndent: true, autoIndentNewline: true, autoDecreaseIndent: true, normalizeLineEndings: true, - undo: "skip", preserveTrailingLineIndentation: false }); + undo: "skip", preserveTrailingLineIndentation: false, bypassReadOnly: false }); selection.backspace(); + selection.backspace({ bypassReadOnly: true }); selection.deleteToPreviousWordBoundary(); + selection.deleteToPreviousWordBoundary({ bypassReadOnly: false }); selection.deleteToNextWordBoundary(); + selection.deleteToNextWordBoundary({ bypassReadOnly: true }); selection.deleteToBeginningOfWord(); + selection.deleteToBeginningOfWord({ bypassReadOnly: false }); selection.deleteToBeginningOfLine(); + selection.deleteToBeginningOfLine({ bypassReadOnly: true }); selection.delete(); + selection.delete({ bypassReadOnly: false }); selection.deleteToEndOfLine(); + selection.deleteToEndOfLine({ bypassReadOnly: true }); selection.deleteToEndOfWord(); + selection.deleteToEndOfWord({ bypassReadOnly: false }); selection.deleteToBeginningOfSubword(); + selection.deleteToBeginningOfSubword({ bypassReadOnly: true }); selection.deleteToEndOfSubword(); + selection.deleteToEndOfSubword({ bypassReadOnly: false }); selection.deleteSelectedText(); + selection.deleteSelectedText({ bypassReadOnly: true }); selection.deleteLine(); + selection.deleteLine({ bypassReadOnly: false }); selection.joinLines(); + selection.joinLines({ bypassReadOnly: true }); selection.outdentSelectedRows(); + selection.outdentSelectedRows({ bypassReadOnly: false }); selection.autoIndentSelectedRows(); + selection.autoIndentSelectedRows({ bypassReadOnly: true }); selection.toggleLineComments(); + selection.toggleLineComments({ bypassReadOnly: false }); selection.cutToEndOfLine(); + selection.cutToEndOfLine(true); + selection.cutToEndOfLine(undefined, { bypassReadOnly: true }); selection.cutToEndOfBufferLine(); + selection.cutToEndOfBufferLine(true); + selection.cutToEndOfBufferLine(false, { bypassReadOnly: false }); selection.cut(); selection.cut(true); selection.cut(true, true); + selection.cut(undefined, undefined, { bypassReadOnly: true }); selection.copy(); selection.copy(true); @@ -1983,6 +2012,7 @@ function testSelection() { selection.fold(); selection.indentSelectedRows(); + selection.indentSelectedRows({ bypassReadOnly: false }); // Managing multiple selections selection.addSelectionBelow(); @@ -2143,6 +2173,8 @@ function testTextBuffer() { num = nextRow; } + bool = buffer.hasAstral(); + // Mutating Text range = buffer.setText("Test"); buffer.setTextViaDiff("Test"); @@ -2232,9 +2264,13 @@ function testTextBuffer() { // History bool = buffer.undo(); + bool = buffer.undo({ selectionsMarkerLayer: markerLayer }); bool = buffer.redo(); + bool = buffer.redo({ selectionsMarkerLayer: markerLayer }); - num = buffer.transact(500, (): number => 42); + num = buffer.transact(500, (): number => 42); + num = buffer.transact({ groupingInterval: 500, selectionsMarkerLayer: markerLayer }, + (): number => 42); buffer.clearUndoStack(); num = buffer.createCheckpoint(); @@ -2434,6 +2470,8 @@ function testTextEditor() { // Mutating Text editor.setText("Test"); + editor.setText("Test", {}); + editor.setText("Text", { bypassReadOnly: true }); range = editor.setTextInBufferRange(range, "Test"); range = editor.setTextInBufferRange([pos, pos], "Test"); @@ -2443,7 +2481,7 @@ function testTextEditor() { range = editor.setTextInBufferRange(range, "Test", {}); range = editor.setTextInBufferRange([pos, pos], "Test", { normalizeLineEndings: true }); range = editor.setTextInBufferRange(range, "Test", { normalizeLineEndings: true, - undo: "skip" }); + undo: "skip", bypassReadOnly: false }); editor.insertText("Test"); editor.insertText("Test", {}); @@ -2455,27 +2493,45 @@ function testTextEditor() { editor.insertText("Test", { undo: "skip" }); editor.insertText("Text", { autoDecreaseIndent: false, autoIndent: false, autoIndentNewline: false, normalizeLineEndings: false, select: false, - undo: "skip", preserveTrailingLineIndentation: true }); + undo: "skip", preserveTrailingLineIndentation: true, bypassReadOnly: true }); editor.insertNewline(); + editor.insertNewline({ bypassReadOnly: false }); editor.delete(); + editor.delete({ bypassReadOnly: true }); editor.backspace(); + editor.backspace({ bypassReadOnly: false }); editor.mutateSelectedText((selection, index) => { selection.clear(); }); editor.transpose(); + editor.transpose({ bypassReadOnly: true }); editor.upperCase(); + editor.upperCase({ bypassReadOnly: false }); editor.lowerCase(); + editor.lowerCase({ bypassReadOnly: true }); editor.toggleLineCommentsInSelection(); + editor.toggleLineCommentsInSelection({ bypassReadOnly: false }); editor.insertNewlineBelow(); + editor.insertNewlineBelow({ bypassReadOnly: true }); editor.insertNewlineAbove(); + editor.insertNewlineAbove({ bypassReadOnly: false }); editor.deleteToBeginningOfWord(); + editor.deleteToBeginningOfWord({ bypassReadOnly: true }); editor.deleteToPreviousWordBoundary(); + editor.deleteToPreviousWordBoundary({ bypassReadOnly: false }); editor.deleteToNextWordBoundary(); + editor.deleteToNextWordBoundary({ bypassReadOnly: true }); editor.deleteToBeginningOfSubword(); + editor.deleteToBeginningOfSubword({ bypassReadOnly: false }); editor.deleteToEndOfSubword(); + editor.deleteToEndOfSubword({ bypassReadOnly: true }); editor.deleteToBeginningOfLine(); + editor.deleteToBeginningOfLine({ bypassReadOnly: false }); editor.deleteToEndOfLine(); + editor.deleteToEndOfLine({ bypassReadOnly: true }); editor.deleteToEndOfWord(); + editor.deleteToEndOfWord({ bypassReadOnly: false }); editor.deleteLine(); + editor.deleteLine({ bypassReadOnly: true }); // History editor.undo(); @@ -2923,9 +2979,12 @@ function testTextEditor() { editor.setIndentationForBufferRow(42, 42, { preserveLeadingWhitespace: true }); editor.indentSelectedRows(); + editor.indentSelectedRows({ bypassReadOnly: false }); editor.outdentSelectedRows(); + editor.outdentSelectedRows({ bypassReadOnly: true }); num = editor.indentLevelForLine("Test"); editor.autoIndentSelectedRows(); + editor.autoIndentSelectedRows({ bypassReadOnly: false }); // Grammars grammar = editor.getGrammar(); @@ -2942,6 +3001,7 @@ function testTextEditor() { // Clipboard Operations editor.copySelectedText(); editor.cutSelectedText(); + editor.cutSelectedText({ bypassReadOnly: true }); editor.pasteText(); editor.pasteText({}); @@ -2951,11 +3011,14 @@ function testTextEditor() { editor.pasteText({ normalizeLineEndings: true }); editor.pasteText({ select: true }); editor.pasteText({ undo: "skip" }); + editor.pasteText({ bypassReadOnly: false }); editor.pasteText({ autoIndentNewline: true, autoIndent: true, autoDecreaseIndent: true, - normalizeLineEndings: true, select: true, undo: "skip" }); + normalizeLineEndings: true, select: true, undo: "skip", bypassReadOnly: true }); editor.cutToEndOfLine(); + editor.cutToEndOfLine({ bypassReadOnly: false }); editor.cutToEndOfBufferLine(); + editor.cutToEndOfBufferLine({ bypassReadOnly: true }); // Folds editor.foldCurrentRow(); diff --git a/types/atom/index.d.ts b/types/atom/index.d.ts index 3cee95ace5..232c20a034 100644 --- a/types/atom/index.d.ts +++ b/types/atom/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for Atom 1.26 +// Type definitions for Atom 1.27 // Project: https://github.com/atom/atom // Definitions by: GlenCFL // smhxx @@ -7,7 +7,7 @@ // TypeScript Version: 2.3 // NOTE: only those classes exported within this file should be retain that status below. -// https://github.com/atom/atom/blob/v1.26.0/exports/atom.js +// https://github.com/atom/atom/blob/v1.27.0/exports/atom.js /// @@ -1004,6 +1004,9 @@ export interface MarkerLayer { /** Find markers in the layer conforming to the given parameters. */ findMarkers(params: FindMarkerOptions): Marker[]; + /** Get the role of the marker layer e.g. "atom.selection". */ + getRole(): string | undefined; + // Marker Creation /** Create a marker with the given range. */ markRange(range: RangeCompatible, options?: { reversed?: boolean, invalidate?: @@ -1525,29 +1528,29 @@ export class TextEditor { // Mutating Text /** Replaces the entire contents of the buffer with the given string. */ - setText(text: string): void; + setText(text: string, options?: ReadonlyEditOptions): void; /** Set the text in the given Range in buffer coordinates. */ setTextInBufferRange(range: RangeCompatible, text: string, options?: - TextEditOptions): Range; + TextEditOptions & ReadonlyEditOptions): Range; /* For each selection, replace the selected text with the given text. */ - insertText(text: string, options?: TextInsertionOptions): Range|false; + insertText(text: string, options?: TextInsertionOptions & ReadonlyEditOptions): Range|false; /** For each selection, replace the selected text with a newline. */ - insertNewline(): void; + insertNewline(options?: ReadonlyEditOptions): void; /** * For each selection, if the selection is empty, delete the character following * the cursor. Otherwise delete the selected text. */ - delete(): void; + delete(options?: ReadonlyEditOptions): void; /** * For each selection, if the selection is empty, delete the character preceding * the cursor. Otherwise delete the selected text. */ - backspace(): void; + backspace(options?: ReadonlyEditOptions): void; /** * Mutate the text of all the selections in a single transaction. @@ -1561,89 +1564,89 @@ export class TextEditor { * If the selection is empty, the characters preceding and following the cursor * are swapped. Otherwise, the selected characters are reversed. */ - transpose(): void; + transpose(options?: ReadonlyEditOptions): void; /** * Convert the selected text to upper case. * For each selection, if the selection is empty, converts the containing word * to upper case. Otherwise convert the selected text to upper case. */ - upperCase(): void; + upperCase(options?: ReadonlyEditOptions): void; /** * Convert the selected text to lower case. * For each selection, if the selection is empty, converts the containing word * to upper case. Otherwise convert the selected text to upper case. */ - lowerCase(): void; + lowerCase(options?: ReadonlyEditOptions): void; /** * Toggle line comments for rows intersecting selections. * If the current grammar doesn't support comments, does nothing. */ - toggleLineCommentsInSelection(): void; + toggleLineCommentsInSelection(options?: ReadonlyEditOptions): void; /** For each cursor, insert a newline at beginning the following line. */ - insertNewlineBelow(): void; + insertNewlineBelow(options?: ReadonlyEditOptions): void; /** For each cursor, insert a newline at the end of the preceding line. */ - insertNewlineAbove(): void; + insertNewlineAbove(options?: ReadonlyEditOptions): void; /** * For each selection, if the selection is empty, delete all characters of the * containing word that precede the cursor. Otherwise delete the selected text. */ - deleteToBeginningOfWord(): void; + deleteToBeginningOfWord(options?: ReadonlyEditOptions): void; /** * Similar to ::deleteToBeginningOfWord, but deletes only back to the previous * word boundary. */ - deleteToPreviousWordBoundary(): void; + deleteToPreviousWordBoundary(options?: ReadonlyEditOptions): void; /** Similar to ::deleteToEndOfWord, but deletes only up to the next word boundary. */ - deleteToNextWordBoundary(): void; + deleteToNextWordBoundary(options?: ReadonlyEditOptions): void; /** * For each selection, if the selection is empty, delete all characters of the * containing subword following the cursor. Otherwise delete the selected text. */ - deleteToBeginningOfSubword(): void; + deleteToBeginningOfSubword(options?: ReadonlyEditOptions): void; /** * For each selection, if the selection is empty, delete all characters of the * containing subword following the cursor. Otherwise delete the selected text. */ - deleteToEndOfSubword(): void; + deleteToEndOfSubword(options?: ReadonlyEditOptions): void; /** * For each selection, if the selection is empty, delete all characters of the * containing line that precede the cursor. Otherwise delete the selected text. */ - deleteToBeginningOfLine(): void; + deleteToBeginningOfLine(options?: ReadonlyEditOptions): void; /** * For each selection, if the selection is not empty, deletes the selection * otherwise, deletes all characters of the containing line following the cursor. * If the cursor is already at the end of the line, deletes the following newline. */ - deleteToEndOfLine(): void; + deleteToEndOfLine(options?: ReadonlyEditOptions): void; /** * For each selection, if the selection is empty, delete all characters of the * containing word following the cursor. Otherwise delete the selected text. */ - deleteToEndOfWord(): void; + deleteToEndOfWord(options?: ReadonlyEditOptions): void; /** Delete all lines intersecting selections. */ - deleteLine(): void; + deleteLine(options?: ReadonlyEditOptions): void; // History /** Undo the last change. */ - undo(): void; + undo(options?: ReadonlyEditOptions): void; /** Redo the last change. */ - redo(): void; + redo(options?: ReadonlyEditOptions): void; /** * Batch multiple operations as a single undo/redo step. @@ -2284,10 +2287,10 @@ export class TextEditor { { preserveLeadingWhitespace?: boolean }): void; /** Indent rows intersecting selections by one level. */ - indentSelectedRows(): void; + indentSelectedRows(options?: ReadonlyEditOptions): void; /** Outdent rows intersecting selections by one level. */ - outdentSelectedRows(): void; + outdentSelectedRows(options?: ReadonlyEditOptions): void; /** * Get the indentation level of the given line of text. @@ -2298,7 +2301,7 @@ export class TextEditor { indentLevelForLine(line: string): number; /** Indent rows intersecting selections based on the grammar's suggested indent level. */ - autoIndentSelectedRows(): void; + autoIndentSelectedRows(options?: ReadonlyEditOptions): void; // Grammars /** Get the current Grammar of this editor. */ @@ -2328,7 +2331,7 @@ export class TextEditor { copySelectedText(): void; /** For each selection, cut the selected text. */ - cutSelectedText(): void; + cutSelectedText(options?: ReadonlyEditOptions): void; /** * For each selection, replace the selected text with the contents of the clipboard. @@ -2336,19 +2339,19 @@ export class TextEditor { * each selection will be replaced with the content of the corresponding clipboard * selection text. */ - pasteText(options?: TextInsertionOptions): void; + pasteText(options?: TextInsertionOptions & ReadonlyEditOptions): void; /** * For each selection, if the selection is empty, cut all characters of the * containing screen line following the cursor. Otherwise cut the selected text. */ - cutToEndOfLine(): void; + cutToEndOfLine(options?: ReadonlyEditOptions): void; /** * For each selection, if the selection is empty, cut all characters of the * containing buffer line following the cursor. Otherwise cut the selected text. */ - cutToEndOfBufferLine(): void; + cutToEndOfBufferLine(options?: ReadonlyEditOptions): void; // Folds /** @@ -3322,7 +3325,7 @@ export class Directory { /** Returns a boolean, always false. */ isFile(): this is File; - /** Returns a roolean, always true. */ + /** Returns a boolean, always true. */ isDirectory(): this is Directory; /** Returns a boolean indicating whether or not this is a symbolic link. */ @@ -4482,6 +4485,10 @@ export interface Project { /** Invoke a callback when a filesystem change occurs within any open project path. */ onDidChangeFiles(callback: (events: FilesystemChangeEvent) => void): Disposable; + /** Invoke a callback whenever the project's configuration has been replaced. */ + onDidReplace(callback: (projectSpec: ProjectSpecification | null | undefined) => void): + Disposable; + // Accessing the Git Repository /** * Get an Array of GitRepositorys associated with the project's directories. @@ -4716,107 +4723,107 @@ export interface Selection { // Modifying the selected text /** Replaces text at the current selection. */ - insertText(text: string, options?: TextInsertionOptions): void; + insertText(text: string, options?: TextInsertionOptions & ReadonlyEditOptions): void; /** * Removes the first character before the selection if the selection is empty * otherwise it deletes the selection. */ - backspace(): void; + backspace(options?: ReadonlyEditOptions): void; /** * Removes the selection or, if nothing is selected, then all characters from * the start of the selection back to the previous word boundary. */ - deleteToPreviousWordBoundary(): void; + deleteToPreviousWordBoundary(options?: ReadonlyEditOptions): void; /** * Removes the selection or, if nothing is selected, then all characters from * the start of the selection up to the next word boundary. */ - deleteToNextWordBoundary(): void; + deleteToNextWordBoundary(options?: ReadonlyEditOptions): void; /** * Removes from the start of the selection to the beginning of the current * word if the selection is empty otherwise it deletes the selection. */ - deleteToBeginningOfWord(): void; + deleteToBeginningOfWord(options?: ReadonlyEditOptions): void; /** * Removes from the beginning of the line which the selection begins on all * the way through to the end of the selection. */ - deleteToBeginningOfLine(): void; + deleteToBeginningOfLine(options?: ReadonlyEditOptions): void; /** * Removes the selection or the next character after the start of the selection * if the selection is empty. */ - delete(): void; + delete(options?: ReadonlyEditOptions): void; /** * If the selection is empty, removes all text from the cursor to the end of * the line. If the cursor is already at the end of the line, it removes the following * newline. If the selection isn't empty, only deletes the contents of the selection. */ - deleteToEndOfLine(): void; + deleteToEndOfLine(options?: ReadonlyEditOptions): void; /** * Removes the selection or all characters from the start of the selection to * the end of the current word if nothing is selected. */ - deleteToEndOfWord(): void; + deleteToEndOfWord(options?: ReadonlyEditOptions): void; /** * Removes the selection or all characters from the start of the selection to * the end of the current word if nothing is selected. */ - deleteToBeginningOfSubword(): void; + deleteToBeginningOfSubword(options?: ReadonlyEditOptions): void; /** * Removes the selection or all characters from the start of the selection to * the end of the current word if nothing is selected. */ - deleteToEndOfSubword(): void; + deleteToEndOfSubword(options?: ReadonlyEditOptions): void; /** Removes only the selected text. */ - deleteSelectedText(): void; + deleteSelectedText(options?: ReadonlyEditOptions): void; /** * Removes the line at the beginning of the selection if the selection is empty * unless the selection spans multiple lines in which case all lines are removed. */ - deleteLine(): void; + deleteLine(options?: ReadonlyEditOptions): void; /** * Joins the current line with the one below it. Lines will be separated by a single space. * If there selection spans more than one line, all the lines are joined together. */ - joinLines(): void; + joinLines(options?: ReadonlyEditOptions): void; /** Removes one level of indent from the currently selected rows. */ - outdentSelectedRows(): void; + outdentSelectedRows(options?: ReadonlyEditOptions): void; /** * Sets the indentation level of all selected rows to values suggested by the * relevant grammars. */ - autoIndentSelectedRows(): void; + autoIndentSelectedRows(options?: ReadonlyEditOptions): void; /** * Wraps the selected lines in comments if they aren't currently part of a comment. * Removes the comment if they are currently wrapped in a comment. */ - toggleLineComments(): void; + toggleLineComments(options?: ReadonlyEditOptions): void; /** Cuts the selection until the end of the screen line. */ - cutToEndOfLine(): void; + cutToEndOfLine(maintainClipboard?: boolean, options?: ReadonlyEditOptions): void; /** Cuts the selection until the end of the buffer line. */ - cutToEndOfBufferLine(): void; + cutToEndOfBufferLine(maintainClipboard?: boolean, options?: ReadonlyEditOptions): void; /** Copies the selection to the clipboard and then deletes it. */ - cut(maintainClipboard?: boolean, fullLine?: boolean): void; + cut(maintainClipboard?: boolean, fullLine?: boolean, options?: ReadonlyEditOptions): void; /** Copies the current selection to the clipboard. */ copy(maintainClipboard?: boolean, fullLine?: boolean): void; @@ -4825,7 +4832,7 @@ export interface Selection { fold(): void; /** If the selection spans multiple rows, indent all of them. */ - indentSelectedRows(): void; + indentSelectedRows(options?: ReadonlyEditOptions): void; // Managing multiple selections /** Moves the selection down one row. */ @@ -5134,6 +5141,12 @@ export class TextBuffer { */ nextNonBlankRow(startRow: number): number|null; + /** + * Return true if the buffer contains any astral-plane Unicode characters that + * are encoded as surrogate pairs. + */ + hasAstral(): boolean; + // Mutating Text /** Replace the entire contents of the buffer with the given text. */ setText(text: string): Range; @@ -5172,7 +5185,7 @@ export class TextBuffer { // Markers /** Create a layer to contain a set of related markers. */ - addMarkerLayer(options?: { maintainHistory?: boolean, persistent?: boolean }): + addMarkerLayer(options?: { maintainHistory?: boolean, persistent?: boolean, role?: string }): MarkerLayer; /** @@ -5210,16 +5223,18 @@ export class TextBuffer { * Undo the last operation. If a transaction is in progress, aborts it. * @return A boolean of whether or not a change was made. */ - undo(): boolean; + undo(options?: HistoryTraversalOptions): boolean; /** * Redo the last operation. * @return A boolean of whether or not a change was made. */ - redo(): boolean; + redo(options?: HistoryTraversalOptions): boolean; /** Batch multiple operations as a single undo/redo step. */ - transact(groupingInterval: number, fn: () => T): T; + transact(optionsOrInterval: number | { groupingInterval?: number } & + HistoryTransactionOptions, fn: () => T): T; + /** Batch multiple operations as a single undo/redo step. */ transact(fn: () => T): T; /** @@ -5237,20 +5252,21 @@ export class TextBuffer { * `::revertToCheckpoint` and `::groupChangesSinceCheckpoint`. * @return A checkpoint ID value. */ - createCheckpoint(): number; + createCheckpoint(options?: HistoryTransactionOptions): number; /** * Revert the buffer to the state it was in when the given checkpoint was created. * @return A boolean indicating whether the operation succeeded. */ - revertToCheckpoint(checkpoint: number): boolean; + revertToCheckpoint(checkpoint: number, options?: HistoryTraversalOptions): + boolean; /** * Group all changes since the given checkpoint into a single transaction for * purposes of undo/redo. * @return A boolean indicating whether the operation succeeded. */ - groupChangesSinceCheckpoint(checkpoint: number): boolean; + groupChangesSinceCheckpoint(checkpoint: number, options?: HistoryTransactionOptions): boolean; /** * Group the last two text changes for purposes of undo/redo. @@ -5828,7 +5844,7 @@ export interface TextEditorObservedEvent { // information under certain contexts. // NOTE: the config schema with these defaults can be found here: -// https://github.com/atom/atom/blob/v1.26.0/src/config-schema.js +// https://github.com/atom/atom/blob/v1.27.0/src/config-schema.js /** * Allows you to strongly type Atom configuration variables. Additional key:value * pairings merged into this interface will result in configuration values under @@ -6356,6 +6372,16 @@ export interface FindMarkerOptions { intersectsRow?: number; } +export interface HistoryTransactionOptions { + /** When provided, skip taking snapshot for other selections markerLayers except given one. */ + selectionsMarkerLayer?: MarkerLayer; +} + +export interface HistoryTraversalOptions { + /** Restore snapshot of selections marker layer to given selectionsMarkerLayer. */ + selectionsMarkerLayer?: MarkerLayer; +} + export interface MenuOptions { /** The menu itme's label. */ label: string; @@ -6413,6 +6439,11 @@ export interface ProcessOptions extends NodeProcessOptions { autoStart?: boolean; } +export interface ReadonlyEditOptions { + /** Whether the readonly protections on the text editor should be ignored. */ + bypassReadOnly?: boolean; +} + export interface ScanContextOptions { /** The number of lines before the matched line to include in the results object. */ leadingContextLineCount?: number; @@ -6822,6 +6853,12 @@ export interface ProjectHistory { lastOpened: Date; } +export interface ProjectSpecification { + paths: string[]; + originPath: string; + config?: ConfigValues; +} + export interface ScandalResult { filePath: string; matches: Array<{ diff --git a/types/awesomplete/index.d.ts b/types/awesomplete/index.d.ts index e73b7cf2f3..9f5060de03 100644 --- a/types/awesomplete/index.d.ts +++ b/types/awesomplete/index.d.ts @@ -42,7 +42,8 @@ declare class Awesomplete { } declare namespace Awesomplete { - type Suggestion = string | {label: string | any, value: string | any} | [string, string]; + type Suggestion = string | { label: string | any, value: string | any } | [string, string]; + type SortFunction = (left: number | any[], right: number | any[]) => number; interface Options { list?: string | string[] | Element | Array<{ label: string, value: any }> | Array<[string, string]>; @@ -51,7 +52,7 @@ declare namespace Awesomplete { autoFirst?: boolean; data?(item: Suggestion, input: string): string; filter?(text: string, input: string): boolean; - sort?(left: number | any[], right: number | any[]): number; + sort?: boolean | SortFunction; item?(text: string, input: string): HTMLElement; replace?(text: string): void; } diff --git a/types/aws-lambda/aws-lambda-tests.ts b/types/aws-lambda/aws-lambda-tests.ts index 9f9d7438e3..d3e630ddf1 100644 --- a/types/aws-lambda/aws-lambda-tests.ts +++ b/types/aws-lambda/aws-lambda-tests.ts @@ -93,6 +93,7 @@ str = apiGwEvtReqCtx.identity.sourceIp; strOrNull = apiGwEvtReqCtx.identity.user; strOrNull = apiGwEvtReqCtx.identity.userAgent; strOrNull = apiGwEvtReqCtx.identity.userArn; +str = apiGwEvtReqCtx.path; str = apiGwEvtReqCtx.stage; str = apiGwEvtReqCtx.requestId; str = apiGwEvtReqCtx.resourceId; @@ -503,6 +504,7 @@ function callback(cb: AWSLambda.Callback) { cb(); cb(null); cb(error); + cb(str); // https://docs.aws.amazon.com/apigateway/latest/developerguide/handle-errors-in-lambda-integration.html cb(null, anyObj); cb(null, bool); cb(null, str); @@ -525,6 +527,58 @@ function customAuthorizerCallback(cb: AWSLambda.CustomAuthorizerCallback) { cb(null, authResponse); } +/* CodePipeline events https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html#actions-invoke-lambda-function-json-event-example */ +const CodePipelineEvent: AWSLambda.CodePipelineEvent = { + "CodePipeline.job": { + id: "11111111-abcd-1111-abcd-111111abcdef", + accountId: "111111111111", + data: { + actionConfiguration: { + configuration: { + FunctionName: "MyLambdaFunctionForAWSCodePipeline", + UserParameters: "some-input-such-as-a-URL" + } + }, + inputArtifacts: [ + { + location: { + s3Location: { + bucketName: "the name of the bucket configured as the pipeline artifact store in Amazon S3, for example codepipeline-us-east-2-1234567890", + objectKey: "the name of the application, for example CodePipelineDemoApplication.zip" + }, + type: "S3" + }, + revision: null, + name: "ArtifactName" + } + ], + outputArtifacts: [], + artifactCredentials: { + secretAccessKey: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", + sessionToken: `MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w + 0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZ + WF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIw + EAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5 + jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh + MCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb + WF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx + HzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE + BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI + k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ + ITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr + AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auN + KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6Guo + EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw + 3rrszlaEXAMPLE=`, + accessKeyId: "AKIAIOSFODNN7EXAMPLE" + }, + continuationToken: "A continuation token if continuing job" + } + } +}; + +CodePipelineEvent["CodePipeline.job"].data.encryptionKey = { type: 'KMS', id: 'key' }; + /* CloudFront events, see http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-event-structure.html */ const CloudFrontRequestEvent: AWSLambda.CloudFrontRequestEvent = { Records: [ @@ -750,6 +804,8 @@ let apiGtwProxyHandler: AWSLambda.APIGatewayProxyHandler = (event: AWSLambda.API let proxyHandler: AWSLambda.ProxyHandler = (event: AWSLambda.APIGatewayEvent, context: AWSLambda.Context, cb: AWSLambda.ProxyCallback) => { }; apiGtwProxyHandler = proxyHandler; +let codePipelineHandler: AWSLambda.CodePipelineHandler = (event: AWSLambda.CodePipelineEvent, context: AWSLambda.Context, cb: AWSLambda.Callback) => {}; + let cloudFrontRequestHandler: AWSLambda.CloudFrontRequestHandler = (event: AWSLambda.CloudFrontRequestEvent, context: AWSLambda.Context, cb: AWSLambda.CloudFrontRequestCallback) => { cb(); cb(null); diff --git a/types/aws-lambda/index.d.ts b/types/aws-lambda/index.d.ts index 7795c4cdfe..dd3fd3bd4e 100644 --- a/types/aws-lambda/index.d.ts +++ b/types/aws-lambda/index.d.ts @@ -18,6 +18,7 @@ // David Hayden // Chris Redekop // Aneil Mallavarapu +// Jeremy Nagel // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 @@ -42,6 +43,7 @@ export interface APIGatewayEventRequestContext { userAgent: string | null; userArn: string | null; }; + path: string; stage: string; requestId: string; requestTimeEpoch: number; @@ -501,6 +503,58 @@ export interface AuthResponseContext { [name: string]: any; } +/** + * CodePipeline events + * https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-invoke-lambda-function.html + */ +export interface S3ArtifactLocation { + bucketName: string; + objectKey: string; +} +export interface S3ArtifactStore { + type: 'S3'; + s3Location: S3ArtifactLocation; +} + +export type ArtifactLocation = S3ArtifactStore; + +export interface Artifact { + name: string; + revision: string | null; + location: ArtifactLocation; +} + +export interface Credentials { + accessKeyId: string; + secretAccessKey: string; + sessionToken?: string; +} + +export interface EncryptionKey { + type: string; + id: string; +} + +export interface CodePipelineEvent { + "CodePipeline.job": { + id: string; + accountId: string; + data: { + actionConfiguration: { + configuration: { + FunctionName: string; + UserParameters: string; + } + }; + inputArtifacts: Artifact[]; + outputArtifacts: Artifact[]; + artifactCredentials: Credentials; + encryptionKey?: EncryptionKey & {type: 'KMS'}; + continuationToken?: string; + }; + }; +} + /** * CloudFront events * http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-event-structure.html @@ -608,9 +662,11 @@ export type Handler = ( * http://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html * * @param error – an optional parameter that you can use to provide results of the failed Lambda function execution. + * It can be a string for Lambda Proxy Integrations + * https://docs.aws.amazon.com/apigateway/latest/developerguide/handle-errors-in-lambda-integration.html * @param result – an optional parameter that you can use to provide the result of a successful function execution. The result provided must be JSON.stringify compatible. */ -export type Callback = (error?: Error | null, result?: TResult) => void; +export type Callback = (error?: Error | null | string, result?: TResult) => void; // Begin defining Handler and Callback types for each API trigger type. // Ordered by https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-function.html @@ -653,6 +709,8 @@ export type ProxyCallback = APIGatewayProxyCallback; // Old name // TODO: IoT +export type CodePipelineHandler = Handler; + export type CloudFrontRequestHandler = Handler; export type CloudFrontRequestCallback = Callback; diff --git a/types/babel-core/babel-core-tests.ts b/types/babel-core/babel-core-tests.ts index b3839d151f..da87d891ba 100644 --- a/types/babel-core/babel-core-tests.ts +++ b/types/babel-core/babel-core-tests.ts @@ -1,13 +1,15 @@ import * as babel from "babel-core"; -// Example from https://github.com/babel/babel/tree/master/packages/babel-core +// Slightly modified example from https://github.com/babel/babel/tree/master/packages/babel-core const code = `class Example {}`; const result = babel.transform(code, { /* options */ }); result.code; // Generated code result.map; // Sourcemap result.ast; // AST +result.ignored; +result.metadata; -// Examples from http://babeljs.io/docs/usage/api/ +// Slightly modified examples from http://babeljs.io/docs/usage/api/ const options: babel.TransformOptions = { plugins: [ "es2015-arrow-functions", @@ -24,6 +26,8 @@ babel.transformFile("filename.js", options, (err, result) => { result.code; result.map; result.ast; + result.ignored; + result.metadata; }); babel.transformFileSync("filename.js", options).code; diff --git a/types/babel-core/index.d.ts b/types/babel-core/index.d.ts index 3a41d2d252..de09b2a91f 100644 --- a/types/babel-core/index.d.ts +++ b/types/babel-core/index.d.ts @@ -169,9 +169,30 @@ export interface TransformOptions { wrapPluginVisitorMethod?(pluginAlias: string, visitorType: 'enter' | 'exit', callback: (path: NodePath, state: any) => void): (path: NodePath, state: any) => void ; } +export interface BabelFileModulesMetadata { + imports: object[]; + exports: { + exported: object[], + specifiers: object[] + }; +} + +export interface BabelFileMetadata { + usedHelpers: string[]; + marked: Array<{ + type: string; + message: string; + loc: object; + }>; + modules: BabelFileModulesMetadata; +} + export interface BabelFileResult { ast?: Node; code?: string; + ignored?: boolean; map?: object; + metadata?: BabelFileMetadata; } + export as namespace babel; diff --git a/types/bitcoinjs-lib/bitcoinjs-lib-tests.ts b/types/bitcoinjs-lib/bitcoinjs-lib-tests.ts index 669c00d77a..9576ba7289 100644 --- a/types/bitcoinjs-lib/bitcoinjs-lib-tests.ts +++ b/types/bitcoinjs-lib/bitcoinjs-lib-tests.ts @@ -41,3 +41,22 @@ bitcoin.address.toBase58Check(rsBase58Check.hash, rsBase58Check.version); bitcoin.address.toBech32(rsBech32.data, rsBech32.version, rsBech32.prefix); bitcoin.address.toOutputScript(address); bitcoin.address.toOutputScript(address, network); + +const redeemScript = bitcoin.script.multisig.output.encode( + 2, + [ + new Buffer('12345678901234567890123456789012'), + new Buffer('12345678901234567890123456789012'), + new Buffer('12345678901234567890123456789012'), + ] +); +bitcoin.script.scriptHash.input.encode( + bitcoin.script.multisig.input.encodeStack( + [ + new Buffer('12345678901234567890123456789012'), + new Buffer('12345678901234567890123456789012'), + ], + redeemScript, + ), + redeemScript, +); diff --git a/types/bitcoinjs-lib/index.d.ts b/types/bitcoinjs-lib/index.d.ts index 1e8255e7ef..2d0603b87c 100644 --- a/types/bitcoinjs-lib/index.d.ts +++ b/types/bitcoinjs-lib/index.d.ts @@ -1,10 +1,11 @@ -// Type definitions for bitcoinjs-lib 3.3 +// Type definitions for bitcoinjs-lib 3.4 // Project: https://github.com/bitcoinjs/bitcoinjs-lib // Definitions by: Mohamed Hegazy // Daniel // Ron Buckton // Satana Charuwichitratana // Youssef GHOUBACH +// Kento // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // Declaration file initially generated by dts-gen for bitcoinjs-lib 3.0.3 // based on the flow version found at https://github.com/flowtype/flow-typed/blob/master/definitions/npm/bitcoinjs-lib_v2.x.x/flow_v0.17.x-/bitcoinjs-lib_v2.x.x.js @@ -27,6 +28,7 @@ export interface In { } export interface Network { + bech32?: string; bip32: { public: number; private: number; @@ -468,8 +470,8 @@ export namespace script { check(script: Buffer, allowIncomplete: boolean): boolean; decode(buffer: Buffer): Array; decodeStack(stack: Buffer[], allowIncomplete: boolean): Array; - encode(signatures: ECSignature[], scriptPubKey: Buffer): Buffer; - encodeStack(signatures: ECSignature[], scriptPubKey: Buffer): ECSignature[]; + encode(signatures: Buffer[], scriptPubKey: Buffer): Buffer; + encodeStack(signatures: Buffer[], scriptPubKey: Buffer): Buffer[]; }; output: { check(script: Buffer, allowIncomplete: boolean): boolean; @@ -483,8 +485,8 @@ export namespace script { check(script: Buffer): boolean; decode(buffer: Buffer): Array; decodeStack(stack: Buffer[]): Array; - encode(signature: ECSignature): Buffer; - encodeStack(signature: ECSignature): ECSignature[]; + encode(signature: Buffer): Buffer; + encodeStack(signature: Buffer): Buffer[]; }; output: { @@ -497,10 +499,10 @@ export namespace script { const pubKeyHash: { input: { check(script: Buffer): boolean; - decode(buffer: Buffer): { signature: ECSignature; pubKey: Buffer }; - decodeStack(stack: Buffer[]): { signature: ECSignature; pubKey: Buffer }; - encode(signature: ECSignature, pubKey: Buffer): Buffer; - encodeStack(signature: ECSignature, pubKey: Buffer): [ECSignature, Buffer]; + decode(buffer: Buffer): { signature: Buffer; pubKey: Buffer }; + decodeStack(stack: Buffer[]): { signature: Buffer; pubKey: Buffer }; + encode(signature: Buffer, pubKey: Buffer): Buffer; + encodeStack(signature: Buffer, pubKey: Buffer): [Buffer, Buffer]; }; output: { @@ -516,7 +518,7 @@ export namespace script { decode(buffer: Buffer): { redeemScriptStack: Buffer[]; redeemScript: Buffer }; decodeStack(stack: Buffer[]): { redeemScriptStack: Buffer[]; redeemScript: Buffer }; encode(redeemScriptSig: Array, redeemScript: Buffer): Buffer; - encodeStack(redeemScriptStack: Buffer[], redeemScript: Buffer): Buffer; + encodeStack(redeemScriptStack: Buffer[], redeemScript: Buffer): Buffer[]; }; output: { @@ -537,8 +539,8 @@ export namespace script { const witnessPubKeyHash: { input: { check(script: Buffer): boolean; - decodeStack(stack: Buffer[]): { signature: ECSignature; pubKey: Buffer }; - encodeStack(signature: ECSignature, pubKey: Buffer): [ECSignature, Buffer]; + decodeStack(stack: Buffer[]): { signature: Buffer; pubKey: Buffer }; + encodeStack(signature: Buffer, pubKey: Buffer): [Buffer, Buffer]; }; output: { @@ -552,7 +554,7 @@ export namespace script { input: { check(script: Buffer, allowIncomplete: boolean): boolean; decodeStack(stack: Buffer[]): { redeemScriptStack: Buffer[]; redeemScript: Buffer }; - encodeStack(redeemScriptStack: Buffer[], redeemScript: Buffer): Buffer; + encodeStack(redeemScriptStack: Buffer[], redeemScript: Buffer): Buffer[]; }; output: { diff --git a/types/blockies/blockies-tests.ts b/types/blockies/blockies-tests.ts new file mode 100644 index 0000000000..31b9dcad48 --- /dev/null +++ b/types/blockies/blockies-tests.ts @@ -0,0 +1,4 @@ +import blockies = require('blockies'); + +const seed = 'seed'; +blockies({ seed }); diff --git a/types/blockies/index.d.ts b/types/blockies/index.d.ts new file mode 100644 index 0000000000..f2de8b2c53 --- /dev/null +++ b/types/blockies/index.d.ts @@ -0,0 +1,14 @@ +// Type definitions for blockies 0.0 +// Project: https://github.com/goldylucks/blockies-npm +// Definitions by: Leonid Logvinov +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +interface BlockiesIcon { + toDataURL(): string; +} +interface BlockiesConfig { + seed: string; +} +declare function blockies(config: BlockiesConfig): BlockiesIcon; + +export = blockies; diff --git a/types/blockies/tsconfig.json b/types/blockies/tsconfig.json new file mode 100644 index 0000000000..f190f0b0c9 --- /dev/null +++ b/types/blockies/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "blockies-tests.ts"] +} diff --git a/types/blockies/tslint.json b/types/blockies/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/blockies/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/bn.js/bn.js-tests.ts b/types/bn.js/bn.js-tests.ts new file mode 100644 index 0000000000..670234ecfe --- /dev/null +++ b/types/bn.js/bn.js-tests.ts @@ -0,0 +1,6 @@ +import BN = require('bn.js'); + +let bn = new BN(42); +bn = bn.add(bn); +bn.isZero(); +bn.byteLength; diff --git a/types/bn.js/index.d.ts b/types/bn.js/index.d.ts new file mode 100644 index 0000000000..1a3d4f9b70 --- /dev/null +++ b/types/bn.js/index.d.ts @@ -0,0 +1,60 @@ +// Type definitions for bn.js 4.11 +// Project: https://github.com/indutny/bn.js +// Definitions by: Leonid Logvinov +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +type Endianness = 'le' | 'be'; + +declare class BN { + constructor(num: number | string | number[] | Buffer, base?: number, endian?: Endianness); + clone(): BN; + toString(base?: number, length?: number): string; + toNumber(): number; + toJSON(): string; + toArray(endian?: Endianness, length?: number): number[]; + toBuffer(endian?: Endianness, length?: number): Buffer; + bitLength(): number; + zeroBits(): number; + byteLength(): number; + isNeg(): boolean; + isEven(): boolean; + isOdd(): boolean; + isZero(): boolean; + cmp(b: any): number; + lt(b: any): boolean; + lte(b: any): boolean; + gt(b: any): boolean; + gte(b: any): boolean; + eq(b: any): boolean; + isBN(b: any): boolean; + + neg(): BN; + abs(): BN; + add(b: BN): BN; + sub(b: BN): BN; + mul(b: BN): BN; + sqr(): BN; + pow(b: BN): BN; + div(b: BN): BN; + mod(b: BN): BN; + divRound(b: BN): BN; + + or(b: BN): BN; + and(b: BN): BN; + xor(b: BN): BN; + setn(b: number): BN; + shln(b: number): BN; + shrn(b: number): BN; + testn(b: number): boolean; + maskn(b: number): BN; + bincn(b: number): BN; + notn(w: number): BN; + + gcd(b: BN): BN; + egcd(b: BN): { a: BN; b: BN; gcd: BN }; + invm(b: BN): BN; +} + +export = BN; diff --git a/types/bn.js/tsconfig.json b/types/bn.js/tsconfig.json new file mode 100644 index 0000000000..932e246886 --- /dev/null +++ b/types/bn.js/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "bn.js-tests.ts"] +} diff --git a/types/bn.js/tslint.json b/types/bn.js/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/bn.js/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/bull/index.d.ts b/types/bull/index.d.ts index 15de8adfde..dd97de15ac 100644 --- a/types/bull/index.d.ts +++ b/types/bull/index.d.ts @@ -95,6 +95,11 @@ declare namespace Bull { */ data: any; + /** + * How many attempts where made to run this job + */ + attemptsMade: number; + /** * Report progress on a job */ diff --git a/types/chai-jest-snapshot/chai-jest-snapshot-tests.ts b/types/chai-jest-snapshot/chai-jest-snapshot-tests.ts index c93c4a1d04..cd35998db8 100644 --- a/types/chai-jest-snapshot/chai-jest-snapshot-tests.ts +++ b/types/chai-jest-snapshot/chai-jest-snapshot-tests.ts @@ -1,4 +1,4 @@ -import chaiJestSnapshot from 'chai-jest-snapshot'; +import * as chaiJestSnapshot from 'chai-jest-snapshot'; import { expect } from 'chai'; chai.use(chaiJestSnapshot); diff --git a/types/chai-jest-snapshot/index.d.ts b/types/chai-jest-snapshot/index.d.ts index 470e4fa423..27ec049b14 100644 --- a/types/chai-jest-snapshot/index.d.ts +++ b/types/chai-jest-snapshot/index.d.ts @@ -40,4 +40,4 @@ interface ChaiJestSnapshot { } declare var ChaiJestSnapshot: ChaiJestSnapshot; -export default ChaiJestSnapshot; +export = ChaiJestSnapshot; diff --git a/types/chart.js/index.d.ts b/types/chart.js/index.d.ts index 04d2e182ee..923af5583e 100644 --- a/types/chart.js/index.d.ts +++ b/types/chart.js/index.d.ts @@ -11,6 +11,7 @@ // Sergey Rubanov // Simon Archer // Ken Elkabany +// Slavik Nychkalo // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 @@ -37,6 +38,7 @@ declare class Chart { canvas: HTMLCanvasElement|null; chartArea: Chart.ChartArea; static pluginService: PluginServiceStatic; + static plugins: PluginServiceStatic; static defaults: { global: Chart.ChartOptions & Chart.ChartFontOptions; @@ -56,40 +58,40 @@ declare class PluginServiceStatic { } interface PluginServiceRegistrationOptions { - beforeInit?(chartInstance: Chart): void; - afterInit?(chartInstance: Chart): void; + beforeInit?(chartInstance: Chart, options?: any): void; + afterInit?(chartInstance: Chart, options?: any): void; - resize?(chartInstance: Chart, newChartSize: Size): void; + resize?(chartInstance: Chart, newChartSize: Size, options?: any): void; - beforeUpdate?(chartInstance: Chart): void; - afterScaleUpdate?(chartInstance: Chart): void; - beforeDatasetsUpdate?(chartInstance: Chart): void; - afterDatasetsUpdate?(chartInstance: Chart): void; - afterUpdate?(chartInstance: Chart): void; + beforeUpdate?(chartInstance: Chart, options?: any): void; + afterScaleUpdate?(chartInstance: Chart, options?: any): void; + beforeDatasetsUpdate?(chartInstance: Chart, options?: any): void; + afterDatasetsUpdate?(chartInstance: Chart, options?: any): void; + afterUpdate?(chartInstance: Chart, options?: any): void; // This is called at the start of a render. It is only called once, even if the animation will run for a number of frames. Use beforeDraw or afterDraw // to do something on each animation frame - beforeRender?(chartInstance: Chart): void; + beforeRender?(chartInstance: Chart, options?: any): void; // Easing is for animation - beforeDraw?(chartInstance: Chart, easing: string): void; - afterDraw?(chartInstance: Chart, easing: string): void; + beforeDraw?(chartInstance: Chart, easing: string, options?: any): void; + afterDraw?(chartInstance: Chart, easing: string, options?: any): void; // Before the datasets are drawn but after scales are drawn - beforeDatasetsDraw?(chartInstance: Chart, easing: string): void; - afterDatasetsDraw?(chartInstance: Chart, easing: string): void; + beforeDatasetsDraw?(chartInstance: Chart, easing: string, options?: any): void; + afterDatasetsDraw?(chartInstance: Chart, easing: string, options?: any): void; // Called before drawing the `tooltip`. If any plugin returns `false`, // the tooltip drawing is cancelled until another `render` is triggered. - beforeTooltipDraw?(chartInstance: Chart): void; + beforeTooltipDraw?(chartInstance: Chart, tooltipData?: any, options?: any): void; // Called after drawing the `tooltip`. Note that this hook will not, // be called if the tooltip drawing has been previously cancelled. - afterTooltipDraw?(chartInstance: Chart): void; + afterTooltipDraw?(chartInstance: Chart, tooltipData?: any, options?: any): void; destroy?(chartInstance: Chart): void; // Called when an event occurs on the chart - beforeEvent?(chartInstance: Chart, event: Event): void; - afterEvent?(chartInstance: Chart, event: Event): void; + beforeEvent?(chartInstance: Chart, event: Event, options?: any): void; + afterEvent?(chartInstance: Chart, event: Event, options?: any): void; } interface Size { @@ -98,7 +100,7 @@ interface Size { } declare namespace Chart { - type ChartType = 'line' | 'bar' | 'radar' | 'doughnut' | 'polarArea' | 'bubble' | 'pie'; + type ChartType = 'line' | 'bar' | 'horizontalBar' | 'radar' | 'doughnut' | 'polarArea' | 'bubble' | 'pie'; type TimeUnit = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year'; diff --git a/types/chartist/chartist-tests.ts b/types/chartist/chartist-tests.ts index 13a7c7dd1c..53ba63497c 100644 --- a/types/chartist/chartist-tests.ts +++ b/types/chartist/chartist-tests.ts @@ -1,429 +1,485 @@ import Chartist = require("chartist"); + Chartist.escapingMap = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - '\'': ''', + '&': '&', + '<': '<', + '>': '>', + '"': '"', + '\'': ''', }; Chartist.precision = 8; new Chartist.Line('.ct-chart', { - labels: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'], - series: [ - [12, 9, 7, 8, 5], - [2, 1, 3.5, 7, 3], - [1, 3, 4, 5, 6] - ] + labels: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'], + series: [ + [12, 9, 7, 8, 5], + [2, 1, 3.5, 7, 3], + [1, 3, 4, 5, 6] + ] }, { fullWidth: true, chartPadding: { - right: 40 + right: 40 } - }); - -var lineChart = new Chartist.Line('.ct-chart', { - labels: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], - series: [ - [5, 5, 10, 8, 7, 5, 4, null, null, null, 10, 10, 7, 8, 6, 9], - [10, 15, null, 12, null, 10, 12, 15, null, null, 12, null, 14, null, null, null], - [null, null, null, null, 3, 4, 1, 3, 4, 6, 7, 9, 5, null, null, null] - ] -}, { - fullWidth: true, - chartPadding: { - right: 10 - }, - low: 0 - }); - -new Chartist.Line('.ct-chart', { - labels: ['1', '2', '3', '4', '5', '6'], - series: [ - { - name: 'Fibonacci sequence', - data: [1, 2, 3, 5, 8, 13] - }, - { - name: 'Golden section', - data: [1, 1.618, 2.618, 4.236, 6.854, 11.09] - } - ] }); +var lineChart = new Chartist.Line('.ct-chart', { + labels: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + series: [ + [5, 5, 10, 8, 7, 5, 4, null, null, null, 10, 10, 7, 8, 6, 9], + [10, 15, null, 12, null, 10, 12, 15, null, null, 12, null, 14, null, null, null], + [null, null, null, null, 3, 4, 1, 3, 4, 6, 7, 9, 5, null, null, null] + ] +}, { + fullWidth: true, + chartPadding: { + right: 10 + }, + low: 0 +}); + +new Chartist.Line('.ct-chart', { + labels: ['1', '2', '3', '4', '5', '6'], + series: [ + { + name: 'Fibonacci sequence', + data: [1, 2, 3, 5, 8, 13] + }, + { + name: 'Golden section', + data: [1, 1.618, 2.618, 4.236, 6.854, 11.09] + } + ] +}); + + +// This example was taken here: https://gionkunz.github.io/chartist-js/examples.html#example-line-series-override +new Chartist.Line('.ct-chart', { + labels: ['1', '2', '3', '4', '5', '6', '7', '8'], + // Naming the series with the series object array notation + series: [{ + name: 'series-1', + data: [5, 2, -4, 2, 0, -2, 5, -3] + }, { + name: 'series-2', + data: [4, 3, 5, 3, 1, 3, 6, 4] + }, { + name: 'series-3', + data: [2, 4, 3, 1, 4, 5, 3, 2] + }] +}, { + fullWidth: true, + // Within the series options you can use the series names + // to specify configuration that will only be used for the + // specific series. + series: { + 'series-1': { + lineSmooth: Chartist.Interpolation.step() + }, + 'series-2': { + lineSmooth: Chartist.Interpolation.simple(), + showArea: true + }, + 'series-3': { + showPoint: false + } + } +}, [ + // You can even use responsive configuration overrides to + // customize your series configuration even further! + ['screen and (max-width: 320px)', { + series: { + 'series-1': { + lineSmooth: Chartist.Interpolation.none() + }, + 'series-2': { + lineSmooth: Chartist.Interpolation.none(), + showArea: false + }, + 'series-3': { + lineSmooth: Chartist.Interpolation.none(), + showPoint: true + } + } + }] +]); + + var data = { - series: [5, 3, 4] + series: [5, 3, 4] }; -var sum = (a: number, b: number) => { return a + b }; +var sum = (a: number, b: number) => { + return a + b +}; new Chartist.Pie('.ct-chart', data, { - labelInterpolationFnc: (value: number) => { - return Math.round(value / data.series.reduce(sum) * 100) + '%'; - } + labelInterpolationFnc: (value: number) => { + return Math.round(value / data.series.reduce(sum) * 100) + '%'; + } }); new Chartist.Pie('.ct-chart', { - series: [20, 10, 30, 40] + series: [20, 10, 30, 40] }, { donut: true, donutWidth: 60, startAngle: 270, total: 200, showLabel: false - }); +}); // Animation Donut example var chart = new Chartist.Pie('.ct-chart', { - series: [10, 20, 50, 20, 5, 50, 15], - labels: [1, 2, 3, 4, 5, 6, 7] + series: [10, 20, 50, 20, 5, 50, 15], + labels: [1, 2, 3, 4, 5, 6, 7] }, { donut: true, showLabel: false - }); +}); chart.on('draw', (data: any) => { - if (data.type === 'slice') { - // Get the total path length in order to use for dash array animation - var pathLength = data.element._node.getTotalLength(); + if (data.type === 'slice') { + // Get the total path length in order to use for dash array animation + var pathLength = data.element._node.getTotalLength(); - // Set a dasharray that matches the path length as prerequisite to animate dashoffset - data.element.attr({ - 'stroke-dasharray': pathLength + 'px ' + pathLength + 'px' - }); + // Set a dasharray that matches the path length as prerequisite to animate dashoffset + data.element.attr({ + 'stroke-dasharray': pathLength + 'px ' + pathLength + 'px' + }); - // Create animation definition while also assigning an ID to the animation for later sync usage - var animationDefinition: Chartist.IChartistAnimations = { - 'stroke-dashoffset': { - id: 'anim' + data.index, - dur: 1000, - from: -pathLength + 'px', - to: '0px', - easing: Chartist.Svg.Easing.easeOutQuint, - // We need to use `fill: 'freeze'` otherwise our animation will fall back to initial (not visible) - fill: 'freeze' - } - }; + // Create animation definition while also assigning an ID to the animation for later sync usage + var animationDefinition: Chartist.IChartistAnimations = { + 'stroke-dashoffset': { + id: 'anim' + data.index, + dur: 1000, + from: -pathLength + 'px', + to: '0px', + easing: Chartist.Svg.Easing.easeOutQuint, + // We need to use `fill: 'freeze'` otherwise our animation will fall back to initial (not visible) + fill: 'freeze' + } + }; - // If this was not the first slice, we need to time the animation so that it uses the end sync event of the previous animation - if (data.index !== 0) { - animationDefinition['stroke-dashoffset'].begin = 'anim' + (data.index - 1) + '.end'; + // If this was not the first slice, we need to time the animation so that it uses the end sync event of the previous animation + if (data.index !== 0) { + animationDefinition['stroke-dashoffset'].begin = 'anim' + (data.index - 1) + '.end'; + } + + // We need to set an initial value before the animation starts as we are not in guided mode which would do that for us + data.element.attr({ + 'stroke-dashoffset': -pathLength + 'px' + }); + + // We can't use guided mode as the animations need to rely on setting begin manually + // See http://gionkunz.github.io/chartist-js/api-documentation.html#chartistsvg-function-animate + data.element.animate(animationDefinition, false); } - - // We need to set an initial value before the animation starts as we are not in guided mode which would do that for us - data.element.attr({ - 'stroke-dashoffset': -pathLength + 'px' - }); - - // We can't use guided mode as the animations need to rely on setting begin manually - // See http://gionkunz.github.io/chartist-js/api-documentation.html#chartistsvg-function-animate - data.element.animate(animationDefinition, false); - } }); new Chartist.Bar('.ct-chart', { - labels: ['XS', 'S', 'M', 'L', 'XL', 'XXL', 'XXXL'], - series: [20, 60, 120, 200, 180, 20, 10] + labels: ['XS', 'S', 'M', 'L', 'XL', 'XXL', 'XXXL'], + series: [20, 60, 120, 200, 180, 20, 10] }, { distributeSeries: true - }); +}); new Chartist.Bar('.ct-chart', { - labels: ['Quarter 1', 'Quarter 2', 'Quarter 3', 'Quarter 4'], - series: [ - [5, 4, 3, 7], - [3, 2, 9, 5], - [1, 5, 8, 4], - [2, 3, 4, 6], - [4, 1, 2, 1] - ] + labels: ['Quarter 1', 'Quarter 2', 'Quarter 3', 'Quarter 4'], + series: [ + [5, 4, 3, 7], + [3, 2, 9, 5], + [1, 5, 8, 4], + [2, 3, 4, 6], + [4, 1, 2, 1] + ] }, { // Default mobile configuration stackBars: true, axisX: { - labelInterpolationFnc: (value: string) => { - return value.split(/\s+/).map((word: string) => { - return word[0]; - }).join(''); - } + labelInterpolationFnc: (value: string) => { + return value.split(/\s+/).map((word: string) => { + return word[0]; + }).join(''); + } }, axisY: { - offset: 20 + offset: 20 } - }, [ +}, [ // Options override for media > 400px ['screen and (min-width: 400px)', { - reverseData: true, - horizontalBars: true, - axisX: { - labelInterpolationFnc: Chartist.noop - }, - axisY: { - offset: 60 - } + reverseData: true, + horizontalBars: true, + axisX: { + labelInterpolationFnc: Chartist.noop + }, + axisY: { + offset: 60 + } }], // Options override for media > 800px ['screen and (min-width: 800px)', { - stackBars: false, - seriesBarDistance: 10 + stackBars: false, + seriesBarDistance: 10 }], // Options override for media > 1000px ['screen and (min-width: 1000px)', { - reverseData: false, - horizontalBars: false, - seriesBarDistance: 15 + reverseData: false, + horizontalBars: false, + seriesBarDistance: 15 }] - ]); +]); new Chartist.Pie('.ct-chart', { - series: [{ - value: 20, - name: 'Series 1', - className: 'my-custom-class-one', - meta: 'Meta One' - }, { - value: 10, - name: 'Series 2', - className: 'my-custom-class-two', - meta: 'Meta Two' + series: [{ + value: 20, + name: 'Series 1', + className: 'my-custom-class-one', + meta: 'Meta One' }, { - value: 70, - name: 'Series 3', - className: 'my-custom-class-three', - meta: 'Meta Three' + value: 10, + name: 'Series 2', + className: 'my-custom-class-two', + meta: 'Meta Two' + }, { + value: 70, + name: 'Series 3', + className: 'my-custom-class-three', + meta: 'Meta Three' }] }); new Chartist.Bar('.bar-chart', { - labels: ['foo', 'bar', 'foobar'], - series: [ - { - data: [1], - className: 'graph-foo', - }, - { - data: [10], - className: 'graph-foo', - }, - { - data: [12], - className: 'graph-foo', - }] -  }, { + labels: ['foo', 'bar', 'foobar'], + series: [ + { + data: [1], + className: 'graph-foo', + }, + { + data: [10], + className: 'graph-foo', + }, + { + data: [12], + className: 'graph-foo', + }] +}, { seriesBarDistance: 30, reverseData: true, horizontalBars: true, height: '115px', axisY: { - offset: 70, - showGrid: false, + offset: 70, + showGrid: false, }, axisX: { - scaleMinSpace: 200 + scaleMinSpace: 200 } - }); +}); new Chartist.Line('.ct-chart', { - labels: [1, 2, 3, 4, 5, 6, 7, 8], - series: [ - [5, 9, 7, 8, 5, 3, 5, 4] - ] + labels: [1, 2, 3, 4, 5, 6, 7, 8], + series: [ + [5, 9, 7, 8, 5, 3, 5, 4] + ] }, { ticks: [0, 4], low: 0, showArea: true, axisY: { - showLabel: true, - showGrid: false, - ticks: [1, 4], - type: Chartist.FixedScaleAxis + showLabel: true, + showGrid: false, + ticks: [1, 4], + type: Chartist.FixedScaleAxis } - }); +}); new Chartist.Line('.ct-chart', { - labels: [1, 2, 3, 4, 5, 6, 7, 8], - series: [ - [5, 9, 7, 8, 5, 3, 5, 4] - ] + labels: [1, 2, 3, 4, 5, 6, 7, 8], + series: [ + [5, 9, 7, 8, 5, 3, 5, 4] + ] }, { ticks: [0, 4], low: 0, showArea: true, axisX: { - showGrid: false + showGrid: false }, axisY: { - showLabel: true, - showGrid: false, - ticks: [1, 4], - type: Chartist.FixedScaleAxis + showLabel: true, + showGrid: false, + ticks: [1, 4], + type: Chartist.FixedScaleAxis } - }); +}); var chart2 = new Chartist.Line('.ct-chart', { - labels: [1, 2, 3, 4, 5], - series: [ - [12, 9, 7, 8, 5] - ] + labels: [1, 2, 3, 4, 5], + series: [ + [12, 9, 7, 8, 5] + ] }); // Listening for draw events that get emitted by the Chartist chart chart2.on('draw', (data: any) => { - // If the draw event was triggered from drawing a point on the line chart - if (data.type === 'point') { - // We are creating a new path SVG element that draws a triangle around the point coordinates - var triangle = new Chartist.Svg('path', { - d: ['M', - data.x, - data.y - 15, - 'L', - data.x - 15, - data.y + 8, - 'L', - data.x + 15, - data.y + 8, - 'z'].join(' '), - style: 'fill-opacity: 1' - }, 'ct-area'); + // If the draw event was triggered from drawing a point on the line chart + if (data.type === 'point') { + // We are creating a new path SVG element that draws a triangle around the point coordinates + var triangle = new Chartist.Svg('path', { + d: ['M', + data.x, + data.y - 15, + 'L', + data.x - 15, + data.y + 8, + 'L', + data.x + 15, + data.y + 8, + 'z'].join(' '), + style: 'fill-opacity: 1' + }, 'ct-area'); - // With data.element we get the Chartist SVG wrapper and we can replace the original point drawn by Chartist with our newly created triangle - data.element.replace(triangle); - } + // With data.element we get the Chartist SVG wrapper and we can replace the original point drawn by Chartist with our newly created triangle + data.element.replace(triangle); + } }); // Create a simple bi-polar bar chart var biPolarChart = new Chartist.Bar('.ct-chart', { - labels: ['W1', 'W2', 'W3', 'W4', 'W5', 'W6', 'W7', 'W8', 'W9', 'W10'], - series: [ - [1, 2, 4, 8, 6, -2, -1, -4, -6, -2] - ] + labels: ['W1', 'W2', 'W3', 'W4', 'W5', 'W6', 'W7', 'W8', 'W9', 'W10'], + series: [ + [1, 2, 4, 8, 6, -2, -1, -4, -6, -2] + ] }, { high: 10, low: -10, axisX: { - labelInterpolationFnc: (value: any, index: number) => { - return index % 2 === 0 ? value : null; - } + labelInterpolationFnc: (value: any, index: number) => { + return index % 2 === 0 ? value : null; + } } - }); +}); // Listen for draw events on the bar chart biPolarChart.on('draw', (data: any) => { - // If this draw event is of type bar we can use the data to create additional content - if (data.type === 'bar') { - // We use the group element of the current series to append a simple circle with the bar peek coordinates and a circle radius that is depending on the value - data.group.append(new Chartist.Svg('circle', { - cx: data.x2, - cy: data.y2, - r: Math.abs(Chartist.getMultiValue(data.value)) * 2 + 5 - }, 'ct-slice-pie')); - } + // If this draw event is of type bar we can use the data to create additional content + if (data.type === 'bar') { + // We use the group element of the current series to append a simple circle with the bar peek coordinates and a circle radius that is depending on the value + data.group.append(new Chartist.Svg('circle', { + cx: data.x2, + cy: data.y2, + r: Math.abs(Chartist.getMultiValue(data.value)) * 2 + 5 + }, 'ct-slice-pie')); + } }); new Chartist.Bar('.ct-chart', { - labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], - series: [ - [5, 4, 3, 7, 5, 10, 3], - [3, 2, 9, 5, 4, 6, 4] - ] + labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], + series: [ + [5, 4, 3, 7, 5, 10, 3], + [3, 2, 9, 5, 4, 6, 4] + ] }, { axisX: { - // On the x-axis start means top and end means bottom - position: 'start' + // On the x-axis start means top and end means bottom + position: 'start' }, axisY: { - // On the y-axis start means left and end means right - position: 'end' + // On the y-axis start means left and end means right + position: 'end' } - }); +}); new Chartist.Line('.ct-chart', { - labels: [1, 2, 3, 4, 5], - series: [[1, 2, 8, 1, 7]] + labels: [1, 2, 3, 4, 5], + series: [[1, 2, 8, 1, 7]] }, { lineSmooth: Chartist.Interpolation.none({ - fillHoles: false + fillHoles: false }) - }); +}); new Chartist.Line('.ct-chart', { - labels: [1, 2, 3, 4, 5], - series: [[1, 2, 8, 1, 7]] + labels: [1, 2, 3, 4, 5], + series: [[1, 2, 8, 1, 7]] }, { lineSmooth: Chartist.Interpolation.simple({ - divisor: 2, - fillHoles: false + divisor: 2, + fillHoles: false }) - }); +}); new Chartist.Line('.ct-chart', { - labels: [1, 2, 3, 4, 5], - series: [[1, 2, 8, 1, 7]] + labels: [1, 2, 3, 4, 5], + series: [[1, 2, 8, 1, 7]] }, { lineSmooth: Chartist.Interpolation.cardinal({ - tension: 1, - fillHoles: false + tension: 1, + fillHoles: false }) - }); +}); new Chartist.Line('.ct-chart', { - labels: [1, 2, 3, 4, 5], - series: [[1, 2, 8, 1, 7]] + labels: [1, 2, 3, 4, 5], + series: [[1, 2, 8, 1, 7]] }, { lineSmooth: Chartist.Interpolation.step({ - postpone: true, - fillHoles: false + postpone: true, + fillHoles: false }) - }); +}); var overlappingBarsData: Chartist.IChartistData = { - labels: ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - series: [ - [5, 4, 3, 7, 5, 10, 3, 4, 8, 10, 6, 8], - [3, 2, 9, 5, 4, 6, 4, 6, 7, 8, 7, 4] - ] + labels: ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + series: [ + [5, 4, 3, 7, 5, 10, 3, 4, 8, 10, 6, 8], + [3, 2, 9, 5, 4, 6, 4, 6, 7, 8, 7, 4] + ] }; var overlappingBarsOptions: Chartist.IBarChartOptions = { - seriesBarDistance: 10 + seriesBarDistance: 10 }; var overlappingBarsResponsiveOptions: Array> = [ - ['screen and (max-width: 640px)', { - seriesBarDistance: 5, - axisX: { - labelInterpolationFnc: (value: any) => { - return value[0]; - } - } - }] + ['screen and (max-width: 640px)', { + seriesBarDistance: 5, + axisX: { + labelInterpolationFnc: (value: any) => { + return value[0]; + } + } + }] ]; new Chartist.Bar('.ct-chart', overlappingBarsData, overlappingBarsOptions, overlappingBarsResponsiveOptions); new Chartist.Candle('.ct-chart', { - labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], - series: [ - [5, 4, 3, 7], - [3, 2, 9, 5], - [5, 4, 3, 7], - [3, 2, 9, 5], - [5, 4, 3, 7], - [3, 2, 9, 5], - [3, 2, 9, 5] - ] + labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], + series: [ + [5, 4, 3, 7], + [3, 2, 9, 5], + [5, 4, 3, 7], + [3, 2, 9, 5], + [5, 4, 3, 7], + [3, 2, 9, 5], + [3, 2, 9, 5] + ] }, { - axisX: { - labelOffset: { - x: -10, - y: 0 + axisX: { + labelOffset: { + x: -10, + y: 0 + } + }, + axisY: { + showGrid: false, + labelInterpolationFnc: function (value: any) { + return value + 12000; + } } - }, - axisY: { - showGrid: false, - labelInterpolationFnc: function (value: any) { - return value + 12000; - } - } }); diff --git a/types/chartist/index.d.ts b/types/chartist/index.d.ts index 93918a5eeb..a4fb2c832d 100644 --- a/types/chartist/index.d.ts +++ b/types/chartist/index.d.ts @@ -1,703 +1,728 @@ // Type definitions for Chartist v0.9.81 // Project: https://github.com/gionkunz/chartist-js -// Definitions by: Matt Gibbs , Simon Pfeifer , Cassey Lottman +// Definitions by: Matt Gibbs , Simon Pfeifer , Cassey Lottman , Anastasiia Antonova // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare namespace Chartist { - interface ChartistStatic { - - /** - * Precision level used internally in Chartist for rounding. If you require more decimal places you can increase this number. - */ - precision: number; - - /** - * A map with characters to escape for strings to be safely used as attribute values. - */ - escapingMap: IChartistEscapeMap; - - Pie: IChartistPieChart; - Bar: IChartistBarChart; - Line: IChartistLineChart; - Candle: IChartistCandleChart; - - FixedScaleAxis: IFixedScaleAxisStatic; - AutoScaleAxis: IAutoScaleAxisStatic; - StepAxis: IStepAxisStatic; - - Svg: ChartistSvgStatic; - Interpolation: ChartistInterpolationStatic; - - noop: Function; - - alphaNumerate(n: number): string; - extend(target: Object, ...sources: Object[]): Object; - - replaceAll(str: string, subStr: string, newSubStr: string): string; - ensureUnit(value: number, unit: string): string; - quantity(input: string | number): Object; - - query(query: Node | string): Node; - times(length: number): Array; - sum(previous: number, current: number): number; - mapMultiply(factor: number): (num: number) => number; - mapAdd(addend: number): (num: number) => number; - serialMap(arr: Array, cb: Function): Array; - roundWithPrecision(value: number, digits?: number): number; - - getMultiValue(value: any, dimension?: any): number; // this method is not documented, but it is used in the examples - - serialize(data: Object | string | number): string; - deserialize(data: string): Object | string | number; - - createSvg(container: Node, width: string, height: string, className: string): Object; // TODO: Figure out if this is returning a ChartistSVGWrapper or an actual SVGElement - - plugins: any; - } - - interface IChartistEscapeMap { - [Key: string]: string; - } - - interface IResponsiveOptionTuple extends Array { - 0: string; - 1: T; - } - - // these have no other purpose than to help define the types that can be placed on - // a line chart axisX - // in the actual chartist library these are classes that project their options onto - // the parent class - interface IFixedScaleAxisStatic { } - interface IAutoScaleAxisStatic { } - interface IStepAxisStatic { } - - // data formats are not well documented on all the ways they can be passed to the constructors - // this definition gives some intellisense, but does not protect the user from misuse - // TODO: come in and tidy this up and make it fit better - interface IChartistData { - labels?: Array | Array | Array; - series: Array | Array> | Array | Array>; - } - - interface IChartistSeriesData { - name?: string; - value?: number; - data?: Array; - className?: string; - meta?: string; // I assume this could probably be a number as well? - } - - interface IChartistBase { - container: any; - data: IChartistData; - defaultOptions: T; - options: T; - responsiveOptions: Array>; - - // this most likely doesn't need to be exposed to the user - eventEmitter: any; - - supportsForeignObject: boolean; - supportsAnimations: boolean; - resizeListener: any; - - plugins?: Array; // all of these plugins seem to be functions with options, but keeping type any for now - - update(data: Object, options?: T, override?: boolean): void; - detach(): void; - - /** - * Use this function to register event handlers. The handler callbacks are synchronous and will run in the main thread rather than the event loop. - * - * @method on - * @param event {string} Name of the event. Check the examples for supported events. - * @param handler {Function} The handler function that will be called when an event with the given name was emitted. This function will receive a data argument which contains event data. See the example for more details. - */ - on(event: string, handler: Function): IChartistBase; - - /** - * Use this function to un-register event handlers. If the handler function parameter is omitted all handlers for the given event will be un-registered. - * - * @method off - * @param event {string} Name of the event for which a handler should be removed - * @param handler {Function} The handler function that that was previously used to register a new event handler. This handler will be removed from the event handler list. If this parameter is omitted then all event handlers for the given event are removed from the list. - */ - off(event: string, handler?: Function): IChartistBase; - } - - interface IChartistPieChart extends IChartistBase { - new (target: any, data: IChartistData, options?: IPieChartOptions, responsiveOptions?: Array>): IChartistPieChart; - } - - interface IChartistLineChart extends IChartistBase { - new (target: any, data: IChartistData, options?: ILineChartOptions, responsiveOptions?: Array>): IChartistLineChart; - } - - interface IChartistBarChart extends IChartistBase { - new (target: any, data: IChartistData, options?: IBarChartOptions, responsiveOptions?: Array>): IChartistBarChart; - } - - interface IChartistCandleChart extends IChartistBase { - new (target: any, data: IChartistData, options?: ICandleChartOptions, responsiveOptions?: Array>): IChartistCandleChart; - } - - interface IChartOptions { - /** - * If true the whole data is reversed including labels, the series order as well as the whole series data arrays. - */ - reverseData?: boolean; - - plugins?: Array; - } - - interface IPieChartOptions extends IChartOptions { - /** - * Specify a fixed width for the chart as a string (i.e. '100px' or '50%') - */ - width?: number | string; - - /** - * Specify a fixed height for the chart as a string (i.e. '100px' or '50%') - */ - height?: number | string; - - /** - * Padding of the chart drawing area to the container element and labels as a number or padding object {top: 5, right: 5, bottom: 5, left: 5} - */ - chartPadding?: IChartPadding | number; - - /** - * Override the class names that are used to generate the SVG structure of the chart - */ - classNames?: IPieChartClasses; - - /** - * The start angle of the pie chart in degrees where 0 points north. A higher value offsets the start angle clockwise. - */ - startAngle?: number; - - /** - * An optional total you can specify. By specifying a total value, the sum of the values in the series must be this total in order to draw a full pie. You can use this parameter to draw only parts of a pie or gauge charts. - */ - total?: number; - - /** - * If specified the donut CSS classes will be used and strokes will be drawn instead of pie slices. - */ - donut?: boolean; - - /** - * If specified the donut segments will be drawn as shapes instead of strokes. - */ - donutSolid?: boolean; - - /** - * Specify the donut stroke width, currently done in javascript for convenience. May move to CSS styles in the future. - * This option can be set as number or string to specify a relative width (i.e. 100 or '30%'). - */ - donutWidth?: number | string; - - /** - * Specify if a label should be shown or not - */ - showLabel?: boolean; - - /** - * Label position offset from the standard position which is half distance of the radius. This value can be either positive or negative. Positive values will position the label away from the center. - */ - labelOffset?: number; - - /** - * This option can be set to 'inside', 'outside' or 'center'. Positioned with 'inside' the labels will be placed on half the distance of the radius to the border of the Pie by respecting the 'labelOffset'. The 'outside' option will place the labels at the border of the pie and 'center' will place the labels in the absolute center point of the chart. The 'center' option only makes sense in conjunction with the 'labelOffset' option. - */ - labelPosition?: string; - - /** - * An interpolation function for the label value - */ - labelInterpolationFnc?: Function; - - /** - * Label direction can be 'neutral', 'explode' or 'implode'. Default is 'neutral'. The labels anchor will be positioned based on those settings as well as the fact if the labels are on the right or left side of the center of the chart. Usually explode is useful when labels are positioned far away from the center. - */ - labelDirection?: string; - - /** - * If true the whole data is reversed including labels, the series order as well as the whole series data arrays. - */ - reverseData?: boolean; - - /** - * If true empty values will be ignored to avoid drawing unncessary slices and labels - */ - ignoreEmptyValues?: boolean; - } - - interface IChartPadding { - top?: number; - right?: number; - bottom?: number; - left?: number; - } - - interface IPieChartClasses { - chartPie?: string; - chartDonut?: string; - series?: string; - slicePie?: string; - sliceDonut?: string; - label?: string; - } - - interface IBarChartOptions extends IChartOptions { - axisX?: IBarChartAxis; - axisY?: IBarChartAxis; - width?: number | string; - height?: number | string; - high?: number; - low?: number; - ticks?: Array; - onlyInteger?: boolean; - chartPadding?: IChartPadding; - seriesBarDistance?: number; - - /** - * If set to true this property will cause the series bars to be stacked and form a total for each series point. This will also influence the y-axis and the overall bounds of the chart. In stacked mode the seriesBarDistance property will have no effect. - */ - stackBars?: boolean; - - horizontalBars?: boolean; - distributeSeries?: boolean; - } - - interface IBarChartAxis { - offset?: number; - position?: string; - labelOffset?: { - x?: number; - y?: number; - }; - showLabel?: boolean; - showGrid?: boolean; - labelInterpolationFnc?: Function; - scaleMinSpace?: number; - onlyInteger?: boolean; - } - - interface IBarChartClasses { - chart?: string; - horizontalBars?: string; - label?: string; - labelGroup?: string; - series?: string; - bar?: string; - grid?: string; - gridGroup?: string; - vertical?: string; - horizontal?: string; - start?: string; - end?: string; - } - - interface ILineChartOptions extends IChartOptions { - axisX?: IChartistStepAxis | IChartistFixedScaleAxis | IChartistAutoScaleAxis; - axisY?: IChartistStepAxis | IChartistFixedScaleAxis | IChartistAutoScaleAxis; - width?: number | string; - height?: number | string; - showLine?: boolean; - showPoint?: boolean; - showArea?: boolean; - areaBase?: number; - lineSmooth?: Function | boolean; - low?: number; - high?: number; - ticks?: Array; - chartPadding?: IChartPadding; - fullWidth?: boolean; - classNames?: ILineChartClasses; - } - - interface ILineChartAxis { - offset?: number; - position?: string; - labelOffset?: { - x?: number; - y?: number; - }; - showLabel?: boolean; - showGrid?: boolean; - labelInterpolationFnc?: Function; - } - - interface IChartistStepAxis extends ILineChartAxis { - type?: IStepAxisStatic; - ticks?: Array | Array; - stretch?: boolean; - } - - interface IChartistFixedScaleAxis extends ILineChartAxis { - type?: IFixedScaleAxisStatic; - high?: number; - low?: number; - divisor?: number; - ticks?: Array | Array; - } - - interface IChartistAutoScaleAxis extends ILineChartAxis { - high?: number; - low?: number; - scaleMinSpace?: number; - onlyInteger?: boolean; - referenceValue?: number; - type?: IAutoScaleAxisStatic; - } - - interface ILineChartClasses { - /** - * Default is 'ct-chart-line' - */ - chart?: string; - label?: string; - labelGroup?: string; - series?: string; - line?: string; - point?: string; - area?: string; - grid?: string; - gridGroup?: string; - gridBackground?: string; - vertical?: string; - horizontal?: string; - start?: string; - end?: string; - } - - interface ICandleChartOptions extends IChartOptions { - - /** - * Options for X-Axis - */ - axisX?: ICandleChartAxis; - - /** - * Options for Y-Axis - */ - axisY?: ICandleChartAxis; - - /** - * Specify a fixed width for the chart as a string (i.e. '100px' or '50%') - */ - width?: number | string; - - /** - * Specify a fixed height for the chart as a string (i.e. '100px' or '50%') - */ - height?: number | string; - - /** - * Overriding the natural high of the chart allows you to zoom in or limit the charts highest displayed value - */ - hight?: number | string; - - /** - * Overriding the natural low of the chart allows you to zoom in or limit the charts lowest displayed value - */ - low?: number | string; - - /** - * Width of candle body in pixel (IMO is 2 px best minimum value) - */ - candleWidth?: number | string; - - /** - * Width of candle wick in pixel (IMO is 1 px best minimum value) - */ - candleWickWidth?: number | string; - - /** - * Use calculated x-axis step length, depending on the number of quotes to display, as candle width. Otherwise the candleWidth is being used. - */ - useStepLengthAsCandleWidth?: boolean | string; - - /** - * Use 1/3 of candle body width as width for the candle wick, otherwise the candleWickWidth is being used. - */ - useOneThirdAsCandleWickWidth?: boolean | string; - - /** - * Padding of the chart drawing area to the container element and labels as a number or padding object {top: 5, right: 5, bottom: 5, left: 5} - */ - chartPadding?: IChartPadding | number; - - /** - * When set to true, the last grid line on the x-axis is not drawn and the chart elements will expand to the full available width of the chart. For the last label to be drawncorrectly you might need to add chart padding or offset the last label with a draw event handler. - */ - fullWidth?: boolean | string; - - /** - * Override the class names that get used to generate the SVG structure of the chart - */ - classNames?: ICandleChartClasses; - } - - interface ICandleChartAxis { - /** - * The offset of the chart drawing area to the border of the container - */ - offset?: number; - /** - * Position where labels are placed. Can be set to `start` or `end` where `start` is equivalent to left or top on vertical axis and `end` is equivalent to right or bottom on horizontal axis. - */ - position?: string; - /** - * Allows you to correct label positioning on this axis by positive or negative x and y offset. - */ - labelOffset?: { - x?: number; - y?: number; - }; - /** - * If labels should be shown or not - */ - showLabel?: boolean; - /** - * If the axis grid should be drawn or not - */ - showGrid?: boolean; - /** - * Interpolation function that allows you to intercept the value from the axis label - */ - labelInterpolationFnc?: Function; - /** - * Set the axis type to be used to project values on this axis. If not defined, Chartist.StepAxis will be used for the X-Axis, where the ticks option will be set to the labels in the data and the stretch option will be set to the global fullWidth option. This type can be changed to any axis constructor available (e.g. Chartist.FixedScaleAxis), where all axis options should be present here. - */ - type?: any; - } - - interface ICandleChartClasses { - chart?: string; - label?: string; - labelGroup?: string; - series?: string; - candlePositive?: string; - candleNegative?: string, - grid?: string, - gridGroup?: string, - gridBackground?: string, - vertical?: string, - horizontal?: string, - start?: string, - end?: string, - } - - - interface ChartistSvgStatic { - new (name: HTMLElement | string, attributes: Object, className?: string, parent?: Object, insertFirst?: boolean): IChartistSvg; - - Easing: ChartistEasingStatic; - - /** - * This method checks for support of a given SVG feature like Extensibility, SVG-animation or the like. Check http://www.w3.org/TR/SVG11/feature for a detailed list. - */ - isSupported(feature: string): boolean; - } - - interface IChartistSvg { - - /** - * Set attributes on the current SVG element of the wrapper you're currently working on. - */ - attr(attributes: Object | string, ns: string): Object | string; - - /** - * Create a new SVG element whose wrapper object will be selected for further operations. This way you can also create nested groups easily. - */ - elem(name: string, attributes?: Object, className?: string, insertFirst?: boolean): IChartistSvg; - - /** - * Returns the parent Chartist.SVG wrapper object - */ - parent(): IChartistSvg; - - /** - * This method returns a Chartist.Svg wrapper around the root SVG element of the current tree. - */ - root(): IChartistSvg; - - /** - * Find the first child SVG element of the current element that matches a CSS selector. The returned object is a Chartist.Svg wrapper. - */ - querySelector(selector: string): IChartistSvg; - - /** - * Find the all child SVG elements of the current element that match a CSS selector. The returned object is a Chartist.Svg.List wrapper. - */ - querySelectorAll(selector: string): any; // this returns an svg wrapper list in the docs, need to see if that's just an array or a special list - - /** - * This method creates a foreignObject (see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject) that allows to embed HTML content into a SVG graphic. With the help of foreignObjects you can enable the usage of regular HTML elements inside of SVG where they are subject for SVG positioning and transformation but the Browser will use the HTML rendering capabilities for the containing DOM. - */ - foreignObject(content: any, attributes?: Object, className?: string, insertFirst?: boolean): IChartistSvg; - - /** - * This method adds a new text element to the current Chartist.Svg wrapper. - */ - text(t: string): IChartistSvg; - - /** - * This method will clear all child nodes of the current wrapper object. - */ - empty(): IChartistSvg; - - /** - * This method will cause the current wrapper to remove itself from its parent wrapper. Use this method if you'd like to get rid of an element in a given DOM structure. - */ - remove(): IChartistSvg; - - /** - * This method will replace the element with a new element that can be created outside of the current DOM. - */ - replace(): IChartistSvg; - - /** - * This method will append an element to the current element as a child. - */ - append(element: IChartistSvg, insertFirst?: boolean): IChartistSvg; - - /** - * Returns an array of class names that are attached to the current wrapper element. This method can not be chained further. - */ - classes(): Array; - - /** - * Adds one or a space separated list of classes to the current element and ensures the classes are only existing once. - * - * @method addClass - * @param names {string} A white space separated list of class names - */ - addClass(names: string): IChartistSvg; - - /** - * Removes one or a space separated list of classes from the current element. - * - * @method removeClass - * @param names {string} A white space separated list of class names - */ - removeClass(names: string): IChartistSvg; - - /** - * Removes all classes from the current element. - */ - removeAllClasses(): IChartistSvg; - - /** - * Get element height with fallback to svg BoundingBox or parent container dimensions - */ - height(): number; - - /** - * The animate function lets you animate the current element with SMIL animations. You can add animations for multiple attributes at the same time by using an animation definition object. This object should contain SMIL animation attributes. - */ - animate(animations: IChartistAnimations, guided: boolean, eventEmitter: Object): IChartistSvg; - - /** - * "Safe" way to get property value from svg BoundingBox. This is a workaround. Firefox throws an NS_ERROR_FAILURE error if getBBox() is called on an invisible node. - * THIS IS A WORKAROUND - */ - getBBoxProperty(node: SVGElement, prop: string): string; // TODO: find a good example of this and add it to the tests, it might belong to static - } - - interface IChartistAnimations { - [Key: string]: IChartistAnimationOptions; - } - - interface IChartistAnimationOptions { - id?: string; - dur: string | number; - from: string | number; - to: string | number; - easing?: IChartistEasingDefinition | string; - fill?: string; - begin?: string; - } - - interface IChartistEasingDefinition { - 0: number; - 1: number; - 2: number; - 3: number; - } - - interface ChartistEasingStatic { - easeInSine: IChartistEasingDefinition; - easeOutSine: IChartistEasingDefinition; - easeInOutSine: IChartistEasingDefinition; - easeInQuad: IChartistEasingDefinition; - easeOutQuad: IChartistEasingDefinition; - easeInOutQuad: IChartistEasingDefinition; - easeInCubic: IChartistEasingDefinition; - easeOutCubic: IChartistEasingDefinition; - easeInOutCubic: IChartistEasingDefinition; - easeInQuart: IChartistEasingDefinition; - easeOutQuart: IChartistEasingDefinition; - easeInOutQuart: IChartistEasingDefinition; - easeInQuint: IChartistEasingDefinition; - easeOutQuint: IChartistEasingDefinition; - easeInOutQuint: IChartistEasingDefinition; - easeInExpo: IChartistEasingDefinition; - easeOutExpo: IChartistEasingDefinition; - easeInOutExpo: IChartistEasingDefinition; - easeInCirc: IChartistEasingDefinition; - easeOutCirc: IChartistEasingDefinition; - easeInOutCirc: IChartistEasingDefinition; - easeInBack: IChartistEasingDefinition; - easeOutBack: IChartistEasingDefinition; - easeInOutBack: IChartistEasingDefinition; - } - - interface ChartistInterpolationStatic { - - /** - * This interpolation function does not smooth the path and the result is only containing lines and no curves. - */ - none(options?: IChartistInterpolationOptions): Function; - - /** - * Simple smoothing creates horizontal handles that are positioned with a fraction of the length between two data points. You can use the divisor option to specify the amount of smoothing. - */ - simple(options?: IChartistSimpleInterpolationOptions): Function; - - /** - * Cardinal / Catmull-Rome spline interpolation is the default smoothing function in Chartist. It produces nice results where the splines will always meet the points. It produces some artifacts though when data values are increased or decreased rapidly. The line may not follow a very accurate path and if the line should be accurate this smoothing function does not produce the best results. - */ - cardinal(options?: IChartistCardinalInterpolationOptions): Function; - - /** - * Step interpolation will cause the line chart to move in steps rather than diagonal or smoothed lines. This interpolation will create additional points that will also be drawn when the showPoint option is enabled. - */ - step(options?: IChartistStepInterpolationOptions): Function; - } - - interface IChartistInterpolationOptions { - fillHoles?: boolean; - } - - interface IChartistSimpleInterpolationOptions extends IChartistInterpolationOptions { - divisor?: number; - } - - interface IChartistCardinalInterpolationOptions extends IChartistInterpolationOptions { - tension?: number; - } - - interface IChartistStepInterpolationOptions extends IChartistInterpolationOptions { - postpone?: boolean; - } + interface ChartistStatic { + + /** + * Precision level used internally in Chartist for rounding. If you require more decimal places you can increase this number. + */ + precision: number; + + /** + * A map with characters to escape for strings to be safely used as attribute values. + */ + escapingMap: IChartistEscapeMap; + + Pie: IChartistPieChart; + Bar: IChartistBarChart; + Line: IChartistLineChart; + Candle: IChartistCandleChart; + + FixedScaleAxis: IFixedScaleAxisStatic; + AutoScaleAxis: IAutoScaleAxisStatic; + StepAxis: IStepAxisStatic; + + Svg: ChartistSvgStatic; + Interpolation: ChartistInterpolationStatic; + + noop: Function; + + alphaNumerate(n: number): string; + + extend(target: Object, ...sources: Object[]): Object; + + replaceAll(str: string, subStr: string, newSubStr: string): string; + + ensureUnit(value: number, unit: string): string; + + quantity(input: string | number): Object; + + query(query: Node | string): Node; + + times(length: number): Array; + + sum(previous: number, current: number): number; + + mapMultiply(factor: number): (num: number) => number; + + mapAdd(addend: number): (num: number) => number; + + serialMap(arr: Array, cb: Function): Array; + + roundWithPrecision(value: number, digits?: number): number; + + getMultiValue(value: any, dimension?: any): number; // this method is not documented, but it is used in the examples + + serialize(data: Object | string | number): string; + + deserialize(data: string): Object | string | number; + + createSvg(container: Node, width: string, height: string, className: string): Object; // TODO: Figure out if this is returning a ChartistSVGWrapper or an actual SVGElement + + plugins: any; + } + + interface IChartistEscapeMap { + [Key: string]: string; + } + + interface IResponsiveOptionTuple extends Array { + 0: string; + 1: T; + } + + // these have no other purpose than to help define the types that can be placed on + // a line chart axisX + // in the actual chartist library these are classes that project their options onto + // the parent class + interface IFixedScaleAxisStatic { + } + + interface IAutoScaleAxisStatic { + } + + interface IStepAxisStatic { + } + + // data formats are not well documented on all the ways they can be passed to the constructors + // this definition gives some intellisense, but does not protect the user from misuse + // TODO: come in and tidy this up and make it fit better + interface IChartistData { + labels?: Array | Array | Array; + series: Array | Array> | Array | Array>; + } + + interface IChartistSeriesData { + name?: string; + value?: number; + data?: Array; + className?: string; + meta?: string; // I assume this could probably be a number as well? + } + + interface IChartistBase { + container: any; + data: IChartistData; + defaultOptions: T; + options: T; + responsiveOptions: Array>; + + // this most likely doesn't need to be exposed to the user + eventEmitter: any; + + supportsForeignObject: boolean; + supportsAnimations: boolean; + resizeListener: any; + + plugins?: Array; // all of these plugins seem to be functions with options, but keeping type any for now + + update(data: Object, options?: T, override?: boolean): void; + + detach(): void; + + /** + * Use this function to register event handlers. The handler callbacks are synchronous and will run in the main thread rather than the event loop. + * + * @method on + * @param event {string} Name of the event. Check the examples for supported events. + * @param handler {Function} The handler function that will be called when an event with the given name was emitted. This function will receive a data argument which contains event data. See the example for more details. + */ + on(event: string, handler: Function): IChartistBase; + + /** + * Use this function to un-register event handlers. If the handler function parameter is omitted all handlers for the given event will be un-registered. + * + * @method off + * @param event {string} Name of the event for which a handler should be removed + * @param handler {Function} The handler function that that was previously used to register a new event handler. This handler will be removed from the event handler list. If this parameter is omitted then all event handlers for the given event are removed from the list. + */ + off(event: string, handler?: Function): IChartistBase; + } + + interface IChartistPieChart extends IChartistBase { + new (target: any, data: IChartistData, options?: IPieChartOptions, responsiveOptions?: Array>): IChartistPieChart; + } + + interface IChartistLineChart extends IChartistBase { + new (target: any, data: IChartistData, options?: ILineChartOptions, responsiveOptions?: Array>): IChartistLineChart; + } + + interface IChartistBarChart extends IChartistBase { + new (target: any, data: IChartistData, options?: IBarChartOptions, responsiveOptions?: Array>): IChartistBarChart; + } + + interface IChartistCandleChart extends IChartistBase { + new (target: any, data: IChartistData, options?: ICandleChartOptions, responsiveOptions?: Array>): IChartistCandleChart; + } + + interface IChartOptions { + /** + * If true the whole data is reversed including labels, the series order as well as the whole series data arrays. + */ + reverseData?: boolean; + + plugins?: Array; + } + + interface IPieChartOptions extends IChartOptions { + /** + * Specify a fixed width for the chart as a string (i.e. '100px' or '50%') + */ + width?: number | string; + + /** + * Specify a fixed height for the chart as a string (i.e. '100px' or '50%') + */ + height?: number | string; + + /** + * Padding of the chart drawing area to the container element and labels as a number or padding object {top: 5, right: 5, bottom: 5, left: 5} + */ + chartPadding?: IChartPadding | number; + + /** + * Override the class names that are used to generate the SVG structure of the chart + */ + classNames?: IPieChartClasses; + + /** + * The start angle of the pie chart in degrees where 0 points north. A higher value offsets the start angle clockwise. + */ + startAngle?: number; + + /** + * An optional total you can specify. By specifying a total value, the sum of the values in the series must be this total in order to draw a full pie. You can use this parameter to draw only parts of a pie or gauge charts. + */ + total?: number; + + /** + * If specified the donut CSS classes will be used and strokes will be drawn instead of pie slices. + */ + donut?: boolean; + + /** + * If specified the donut segments will be drawn as shapes instead of strokes. + */ + donutSolid?: boolean; + + /** + * Specify the donut stroke width, currently done in javascript for convenience. May move to CSS styles in the future. + * This option can be set as number or string to specify a relative width (i.e. 100 or '30%'). + */ + donutWidth?: number | string; + + /** + * Specify if a label should be shown or not + */ + showLabel?: boolean; + + /** + * Label position offset from the standard position which is half distance of the radius. This value can be either positive or negative. Positive values will position the label away from the center. + */ + labelOffset?: number; + + /** + * This option can be set to 'inside', 'outside' or 'center'. Positioned with 'inside' the labels will be placed on half the distance of the radius to the border of the Pie by respecting the 'labelOffset'. The 'outside' option will place the labels at the border of the pie and 'center' will place the labels in the absolute center point of the chart. The 'center' option only makes sense in conjunction with the 'labelOffset' option. + */ + labelPosition?: string; + + /** + * An interpolation function for the label value + */ + labelInterpolationFnc?: Function; + + /** + * Label direction can be 'neutral', 'explode' or 'implode'. Default is 'neutral'. The labels anchor will be positioned based on those settings as well as the fact if the labels are on the right or left side of the center of the chart. Usually explode is useful when labels are positioned far away from the center. + */ + labelDirection?: string; + + /** + * If true the whole data is reversed including labels, the series order as well as the whole series data arrays. + */ + reverseData?: boolean; + + /** + * If true empty values will be ignored to avoid drawing unncessary slices and labels + */ + ignoreEmptyValues?: boolean; + } + + interface IChartPadding { + top?: number; + right?: number; + bottom?: number; + left?: number; + } + + interface IPieChartClasses { + chartPie?: string; + chartDonut?: string; + series?: string; + slicePie?: string; + sliceDonut?: string; + label?: string; + } + + interface IBarChartOptions extends IChartOptions { + axisX?: IBarChartAxis; + axisY?: IBarChartAxis; + width?: number | string; + height?: number | string; + high?: number; + low?: number; + ticks?: Array; + onlyInteger?: boolean; + chartPadding?: IChartPadding; + seriesBarDistance?: number; + + /** + * If set to true this property will cause the series bars to be stacked and form a total for each series point. This will also influence the y-axis and the overall bounds of the chart. In stacked mode the seriesBarDistance property will have no effect. + */ + stackBars?: boolean; + + horizontalBars?: boolean; + distributeSeries?: boolean; + } + + interface IBarChartAxis { + offset?: number; + position?: string; + labelOffset?: { + x?: number; + y?: number; + }; + showLabel?: boolean; + showGrid?: boolean; + labelInterpolationFnc?: Function; + scaleMinSpace?: number; + onlyInteger?: boolean; + } + + interface IBarChartClasses { + chart?: string; + horizontalBars?: string; + label?: string; + labelGroup?: string; + series?: string; + bar?: string; + grid?: string; + gridGroup?: string; + vertical?: string; + horizontal?: string; + start?: string; + end?: string; + } + + interface ILineChartOptions extends IChartOptions { + axisX?: IChartistStepAxis | IChartistFixedScaleAxis | IChartistAutoScaleAxis; + axisY?: IChartistStepAxis | IChartistFixedScaleAxis | IChartistAutoScaleAxis; + width?: number | string; + height?: number | string; + showLine?: boolean; + showPoint?: boolean; + showArea?: boolean; + areaBase?: number; + lineSmooth?: Function | boolean; + low?: number; + high?: number; + ticks?: Array; + chartPadding?: IChartPadding; + fullWidth?: boolean; + classNames?: ILineChartClasses; + series?: { + [key: string]: { + lineSmooth?: Function | boolean; + showLine?: boolean; + showPoint?: boolean; + showArea?: boolean; + areaBase?: number; + } + } + } + + interface ILineChartAxis { + offset?: number; + position?: string; + labelOffset?: { + x?: number; + y?: number; + }; + showLabel?: boolean; + showGrid?: boolean; + labelInterpolationFnc?: Function; + } + + interface IChartistStepAxis extends ILineChartAxis { + type?: IStepAxisStatic; + ticks?: Array | Array; + stretch?: boolean; + } + + interface IChartistFixedScaleAxis extends ILineChartAxis { + type?: IFixedScaleAxisStatic; + high?: number; + low?: number; + divisor?: number; + ticks?: Array | Array; + } + + interface IChartistAutoScaleAxis extends ILineChartAxis { + high?: number; + low?: number; + scaleMinSpace?: number; + onlyInteger?: boolean; + referenceValue?: number; + type?: IAutoScaleAxisStatic; + } + + interface ILineChartClasses { + /** + * Default is 'ct-chart-line' + */ + chart?: string; + label?: string; + labelGroup?: string; + series?: string; + line?: string; + point?: string; + area?: string; + grid?: string; + gridGroup?: string; + gridBackground?: string; + vertical?: string; + horizontal?: string; + start?: string; + end?: string; + } + + interface ICandleChartOptions extends IChartOptions { + + /** + * Options for X-Axis + */ + axisX?: ICandleChartAxis; + + /** + * Options for Y-Axis + */ + axisY?: ICandleChartAxis; + + /** + * Specify a fixed width for the chart as a string (i.e. '100px' or '50%') + */ + width?: number | string; + + /** + * Specify a fixed height for the chart as a string (i.e. '100px' or '50%') + */ + height?: number | string; + + /** + * Overriding the natural high of the chart allows you to zoom in or limit the charts highest displayed value + */ + hight?: number | string; + + /** + * Overriding the natural low of the chart allows you to zoom in or limit the charts lowest displayed value + */ + low?: number | string; + + /** + * Width of candle body in pixel (IMO is 2 px best minimum value) + */ + candleWidth?: number | string; + + /** + * Width of candle wick in pixel (IMO is 1 px best minimum value) + */ + candleWickWidth?: number | string; + + /** + * Use calculated x-axis step length, depending on the number of quotes to display, as candle width. Otherwise the candleWidth is being used. + */ + useStepLengthAsCandleWidth?: boolean | string; + + /** + * Use 1/3 of candle body width as width for the candle wick, otherwise the candleWickWidth is being used. + */ + useOneThirdAsCandleWickWidth?: boolean | string; + + /** + * Padding of the chart drawing area to the container element and labels as a number or padding object {top: 5, right: 5, bottom: 5, left: 5} + */ + chartPadding?: IChartPadding | number; + + /** + * When set to true, the last grid line on the x-axis is not drawn and the chart elements will expand to the full available width of the chart. For the last label to be drawncorrectly you might need to add chart padding or offset the last label with a draw event handler. + */ + fullWidth?: boolean | string; + + /** + * Override the class names that get used to generate the SVG structure of the chart + */ + classNames?: ICandleChartClasses; + } + + interface ICandleChartAxis { + /** + * The offset of the chart drawing area to the border of the container + */ + offset?: number; + /** + * Position where labels are placed. Can be set to `start` or `end` where `start` is equivalent to left or top on vertical axis and `end` is equivalent to right or bottom on horizontal axis. + */ + position?: string; + /** + * Allows you to correct label positioning on this axis by positive or negative x and y offset. + */ + labelOffset?: { + x?: number; + y?: number; + }; + /** + * If labels should be shown or not + */ + showLabel?: boolean; + /** + * If the axis grid should be drawn or not + */ + showGrid?: boolean; + /** + * Interpolation function that allows you to intercept the value from the axis label + */ + labelInterpolationFnc?: Function; + /** + * Set the axis type to be used to project values on this axis. If not defined, Chartist.StepAxis will be used for the X-Axis, where the ticks option will be set to the labels in the data and the stretch option will be set to the global fullWidth option. This type can be changed to any axis constructor available (e.g. Chartist.FixedScaleAxis), where all axis options should be present here. + */ + type?: any; + } + + interface ICandleChartClasses { + chart?: string; + label?: string; + labelGroup?: string; + series?: string; + candlePositive?: string; + candleNegative?: string, + grid?: string, + gridGroup?: string, + gridBackground?: string, + vertical?: string, + horizontal?: string, + start?: string, + end?: string, + } + + + interface ChartistSvgStatic { + new (name?: HTMLElement | string, attributes?: Object, className?: string, parent?: Object, insertFirst?: boolean): IChartistSvg; + + Easing: ChartistEasingStatic; + + /** + * This method checks for support of a given SVG feature like Extensibility, SVG-animation or the like. Check http://www.w3.org/TR/SVG11/feature for a detailed list. + */ + isSupported(feature: string): boolean; + } + + interface IChartistSvg { + + /** + * Set attributes on the current SVG element of the wrapper you're currently working on. + */ + attr(attributes: Object | string, ns: string): Object | string; + + /** + * Create a new SVG element whose wrapper object will be selected for further operations. This way you can also create nested groups easily. + */ + elem(name: string, attributes?: Object, className?: string, insertFirst?: boolean): IChartistSvg; + + /** + * Returns the parent Chartist.SVG wrapper object + */ + parent(): IChartistSvg; + + /** + * This method returns a Chartist.Svg wrapper around the root SVG element of the current tree. + */ + root(): IChartistSvg; + + /** + * Find the first child SVG element of the current element that matches a CSS selector. The returned object is a Chartist.Svg wrapper. + */ + querySelector(selector: string): IChartistSvg; + + /** + * Find the all child SVG elements of the current element that match a CSS selector. The returned object is a Chartist.Svg.List wrapper. + */ + querySelectorAll(selector: string): any; // this returns an svg wrapper list in the docs, need to see if that's just an array or a special list + + /** + * This method creates a foreignObject (see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject) that allows to embed HTML content into a SVG graphic. With the help of foreignObjects you can enable the usage of regular HTML elements inside of SVG where they are subject for SVG positioning and transformation but the Browser will use the HTML rendering capabilities for the containing DOM. + */ + foreignObject(content: any, attributes?: Object, className?: string, insertFirst?: boolean): IChartistSvg; + + /** + * This method adds a new text element to the current Chartist.Svg wrapper. + */ + text(t: string): IChartistSvg; + + /** + * This method will clear all child nodes of the current wrapper object. + */ + empty(): IChartistSvg; + + /** + * This method will cause the current wrapper to remove itself from its parent wrapper. Use this method if you'd like to get rid of an element in a given DOM structure. + */ + remove(): IChartistSvg; + + /** + * This method will replace the element with a new element that can be created outside of the current DOM. + */ + replace(): IChartistSvg; + + /** + * This method will append an element to the current element as a child. + */ + append(element: IChartistSvg, insertFirst?: boolean): IChartistSvg; + + /** + * Returns an array of class names that are attached to the current wrapper element. This method can not be chained further. + */ + classes(): Array; + + /** + * Adds one or a space separated list of classes to the current element and ensures the classes are only existing once. + * + * @method addClass + * @param names {string} A white space separated list of class names + */ + addClass(names: string): IChartistSvg; + + /** + * Removes one or a space separated list of classes from the current element. + * + * @method removeClass + * @param names {string} A white space separated list of class names + */ + removeClass(names: string): IChartistSvg; + + /** + * Removes all classes from the current element. + */ + removeAllClasses(): IChartistSvg; + + /** + * Get element height with fallback to svg BoundingBox or parent container dimensions + */ + height(): number; + + /** + * The animate function lets you animate the current element with SMIL animations. You can add animations for multiple attributes at the same time by using an animation definition object. This object should contain SMIL animation attributes. + */ + animate(animations: IChartistAnimations, guided: boolean, eventEmitter: Object): IChartistSvg; + + /** + * "Safe" way to get property value from svg BoundingBox. This is a workaround. Firefox throws an NS_ERROR_FAILURE error if getBBox() is called on an invisible node. + * THIS IS A WORKAROUND + */ + getBBoxProperty(node: SVGElement, prop: string): string; // TODO: find a good example of this and add it to the tests, it might belong to static + } + + interface IChartistAnimations { + [Key: string]: IChartistAnimationOptions; + } + + interface IChartistAnimationOptions { + id?: string; + dur: string | number; + from: string | number; + to: string | number; + easing?: IChartistEasingDefinition | string; + fill?: string; + begin?: string; + } + + interface IChartistEasingDefinition { + 0: number; + 1: number; + 2: number; + 3: number; + } + + interface ChartistEasingStatic { + easeInSine: IChartistEasingDefinition; + easeOutSine: IChartistEasingDefinition; + easeInOutSine: IChartistEasingDefinition; + easeInQuad: IChartistEasingDefinition; + easeOutQuad: IChartistEasingDefinition; + easeInOutQuad: IChartistEasingDefinition; + easeInCubic: IChartistEasingDefinition; + easeOutCubic: IChartistEasingDefinition; + easeInOutCubic: IChartistEasingDefinition; + easeInQuart: IChartistEasingDefinition; + easeOutQuart: IChartistEasingDefinition; + easeInOutQuart: IChartistEasingDefinition; + easeInQuint: IChartistEasingDefinition; + easeOutQuint: IChartistEasingDefinition; + easeInOutQuint: IChartistEasingDefinition; + easeInExpo: IChartistEasingDefinition; + easeOutExpo: IChartistEasingDefinition; + easeInOutExpo: IChartistEasingDefinition; + easeInCirc: IChartistEasingDefinition; + easeOutCirc: IChartistEasingDefinition; + easeInOutCirc: IChartistEasingDefinition; + easeInBack: IChartistEasingDefinition; + easeOutBack: IChartistEasingDefinition; + easeInOutBack: IChartistEasingDefinition; + } + + interface ChartistInterpolationStatic { + + /** + * This interpolation function does not smooth the path and the result is only containing lines and no curves. + */ + none(options?: IChartistInterpolationOptions): Function; + + /** + * Simple smoothing creates horizontal handles that are positioned with a fraction of the length between two data points. You can use the divisor option to specify the amount of smoothing. + */ + simple(options?: IChartistSimpleInterpolationOptions): Function; + + /** + * Cardinal / Catmull-Rome spline interpolation is the default smoothing function in Chartist. It produces nice results where the splines will always meet the points. It produces some artifacts though when data values are increased or decreased rapidly. The line may not follow a very accurate path and if the line should be accurate this smoothing function does not produce the best results. + */ + cardinal(options?: IChartistCardinalInterpolationOptions): Function; + + /** + * Step interpolation will cause the line chart to move in steps rather than diagonal or smoothed lines. This interpolation will create additional points that will also be drawn when the showPoint option is enabled. + */ + step(options?: IChartistStepInterpolationOptions): Function; + } + + interface IChartistInterpolationOptions { + fillHoles?: boolean; + } + + interface IChartistSimpleInterpolationOptions extends IChartistInterpolationOptions { + divisor?: number; + } + + interface IChartistCardinalInterpolationOptions extends IChartistInterpolationOptions { + tension?: number; + } + + interface IChartistStepInterpolationOptions extends IChartistInterpolationOptions { + postpone?: boolean; + } } declare var Chartist: Chartist.ChartistStatic; export = Chartist; -export as namespace Chartist; \ No newline at end of file +export as namespace Chartist; diff --git a/types/chroma-js/index.d.ts b/types/chroma-js/index.d.ts index 797752c8ad..daf53a0e10 100644 --- a/types/chroma-js/index.d.ts +++ b/types/chroma-js/index.d.ts @@ -293,6 +293,8 @@ declare namespace chroma { mode(mode: keyof ColorSpaces): this; + gamma(g: number): this; + cache(use: boolean): boolean; correctLightness(enable?: boolean): this; diff --git a/types/chrome/chrome-cast.d.ts b/types/chrome/chrome-cast.d.ts index 5c240ff25c..29bfbebf81 100644 --- a/types/chrome/chrome-cast.d.ts +++ b/types/chrome/chrome-cast.d.ts @@ -10,99 +10,102 @@ declare namespace chrome.cast { /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.AutoJoinPolicy + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.AutoJoinPolicy */ - export interface AutoJoinPolicy { - TAB_AND_ORIGIN_SCOPED: string; - ORIGIN_SCOPED: string; - PAGE_SCOPED: string; + export enum AutoJoinPolicy { + CUSTOM_CONTROLLER_SCOPED = "custom_controller_scoped", + TAB_AND_ORIGIN_SCOPED = "tab_and_origin_scoped", + ORIGIN_SCOPED = "origin_scoped", + PAGE_SCOPED = "page_scoped" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.DefaultActionPolicy + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.DefaultActionPolicy */ - export interface DefaultActionPolicy { - CREATE_SESSION: string; - CAST_THIS_TAB: string; + export enum DefaultActionPolicy { + CREATE_SESSION = "create_session", + CAST_THIS_TAB = "cast_this_tab" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Capability + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.Capability */ - export interface Capability { - VIDEO_OUT: string; - AUDIO_OUT: string; - VIDEO_IN: string; - AUDIO_IN: string; + export enum Capability { + VIDEO_OUT = "video_out", + AUDIO_OUT = "audio_out", + VIDEO_IN = "video_in", + AUDIO_IN = "audio_in", + MULTIZONE_GROUP = "multizone_group" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ErrorCode + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.ErrorCode */ - export interface ErrorCode { - CANCEL: string; - TIMEOUT: string; - API_NOT_INITIALIZED: string; - INVALID_PARAMETER: string; - EXTENSION_NOT_COMPATIBLE: string; - EXTENSION_MISSING: string; - RECEIVER_UNAVAILABLE: string; - SESSION_ERROR: string; - CHANNEL_ERROR: string; - LOAD_MEDIA_FAILED: string; + export enum ErrorCode { + CANCEL = "cancel", + TIMEOUT = "timeout", + API_NOT_INITIALIZED = "api_not_initialized", + INVALID_PARAMETER = "invalid_parameter", + EXTENSION_NOT_COMPATIBLE = "extension_not_compatible", + EXTENSION_MISSING = "extension_missing", + RECEIVER_UNAVAILABLE = "receiver_unavailable", + SESSION_ERROR = "session_error", + CHANNEL_ERROR = "channel_error", + LOAD_MEDIA_FAILED = "load_media_failed" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverAvailability + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.ReceiverAvailability */ - export interface ReceiverAvailability { - AVAILABLE: string; - UNAVAILABLE: string; + export enum ReceiverAvailability { + AVAILABLE = "available", + UNAVAILABLE = "unavailable" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SenderPlatform + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.SenderPlatform */ - export interface SenderPlatform { - CHROME: string; - IOS: string; - ANDROID: string; + export enum SenderPlatform { + CHROME = "chrome", + IOS = "ios", + ANDROID = "android" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverType + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.ReceiverType */ - export interface ReceiverType { - CAST: string; - HANGOUT: string; - CUSTOM: string; + export enum ReceiverType { + CAST = "cast", + DIAL = "dial", + HANGOUT = "hangout", + CUSTOM = "custom" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverAction + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.ReceiverAction */ - export interface ReceiverAction { - CAST: string; - STOP: string; + export enum ReceiverAction { + CAST = "cast", + STOP = "stop" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SessionStatus + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.SessionStatus */ - export interface SessionStatus { - CONNECTED: string; - DISCONNECTED: string; - STOPPED: string; + export enum SessionStatus { + CONNECTED = "connected", + DISCONNECTED = "disconnected", + STOPPED = "stopped" } /** @@ -208,7 +211,7 @@ declare namespace chrome.cast { receiverListener: (receiverAvailability: chrome.cast.ReceiverAvailability) => void, autoJoinPolicy?: chrome.cast.AutoJoinPolicy, defaultActionPolicy?: chrome.cast.DefaultActionPolicy - ):ApiConfig; + ): ApiConfig; sessionRequest: chrome.cast.SessionRequest; sessionListener: (session: chrome.cast.Session) => void; @@ -229,7 +232,7 @@ declare namespace chrome.cast { code: chrome.cast.ErrorCode, description?: string, details?: Object - ):Error; + ): Error; code: chrome.cast.ErrorCode; description?: string; @@ -237,15 +240,13 @@ declare namespace chrome.cast { } - export interface Image { + export class Image { /** * @param {string} url * @constructor * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Image */ - new( - url: string - ):Image; + constructor(url: string); url: string; height?: number; @@ -260,7 +261,7 @@ declare namespace chrome.cast { */ new( platform: chrome.cast.SenderPlatform - ):SenderApplication; + ): SenderApplication; platform: chrome.cast.SenderPlatform; url?: string; @@ -279,7 +280,7 @@ declare namespace chrome.cast { appId: string, capabilities?: Array, timeout?: number - ):SessionRequest; + ): SessionRequest; appId: string; capabilities: Array; @@ -303,7 +304,7 @@ declare namespace chrome.cast { displayName: string, appImages: Array, receiver: chrome.cast.Receiver - ):Session; + ): Session; sessionId: string; appId: string; @@ -311,7 +312,7 @@ declare namespace chrome.cast { appImages: Array; receiver: chrome.cast.Receiver; senderApps: Array; - namespaces: Array<{name: string}>; + namespaces: Array<{ name: string }>; media: Array; status: chrome.cast.SessionStatus @@ -324,7 +325,7 @@ declare namespace chrome.cast { newLevel: number, successCallback: Function, errorCallback: (error: chrome.cast.Error) => void - ):void + ): void /** * @param {boolean} muted @@ -335,7 +336,7 @@ declare namespace chrome.cast { muted: boolean, successCallback: Function, errorCallback: (error: chrome.cast.Error) => void - ):void + ): void /** * @param {function()} successCallback @@ -344,7 +345,7 @@ declare namespace chrome.cast { leave( successCallback: Function, errorCallback: (error: chrome.cast.Error) => void - ):void + ): void /** * @param {function()} successCallback @@ -353,7 +354,7 @@ declare namespace chrome.cast { stop( successCallback: Function, errorCallback: (error: chrome.cast.Error) => void - ):void + ): void /** * @param {string} namespace @@ -366,21 +367,21 @@ declare namespace chrome.cast { message: string, successCallback: Function, errorCallback: (error: chrome.cast.Error) => void - ):void + ): void /** * @param {function(boolean)} listener */ addUpdateListener( - listener: (isAlive:boolean) => void - ):void + listener: (isAlive: boolean) => void + ): void /** * @param {function(boolean)} listener */ removeUpdateListener( - listener: (isAlive:boolean) => void - ):void + listener: (isAlive: boolean) => void + ): void /** * @param {string} namespace @@ -389,7 +390,7 @@ declare namespace chrome.cast { addMessageListener( namespace: string, listener: (namespace: string, message: string) => void - ):void + ): void /** * @param {string} namespace @@ -397,22 +398,22 @@ declare namespace chrome.cast { */ removeMessageListener( namespace: string, - listener: (namespace:string, message:string) => void - ):void + listener: (namespace: string, message: string) => void + ): void /** * @param {function(!chrome.cast.media.Media)} listener */ addMediaListener( listener: (media: chrome.cast.media.Media) => void - ):void + ): void /** * @param {function(!chrome.cast.media.Media)} listener */ removeMediaListener( listener: (media: chrome.cast.media.Media) => void - ):void + ): void /** * @param {!chrome.cast.media.LoadRequest} loadRequest @@ -423,7 +424,7 @@ declare namespace chrome.cast { loadRequest: chrome.cast.media.LoadRequest, successCallback: (media: chrome.cast.media.Media) => void, errorCallback: (error: chrome.cast.Error) => void - ):void + ): void /** * @param {!chrome.cast.media.QueueLoadRequest} queueLoadRequest @@ -434,7 +435,7 @@ declare namespace chrome.cast { queueLoadRequest: chrome.cast.media.QueueLoadRequest, successCallback: (media: chrome.cast.media.Media) => void, errorCallback: (error: chrome.cast.Error) => void - ):void + ): void } export interface Receiver { @@ -451,7 +452,7 @@ declare namespace chrome.cast { friendlyName: string, capabilities?: Array, volume?: chrome.cast.Volume - ):Receiver; + ): Receiver; label: string; friendlyName: string; @@ -471,7 +472,7 @@ declare namespace chrome.cast { new( statusText: string, appImages: Array - ):ReceiverDisplayStatus; + ): ReceiverDisplayStatus; statusText: string; appImages: Array; @@ -487,7 +488,7 @@ declare namespace chrome.cast { new( level?: number, muted?: boolean - ):Volume; + ): Volume; level?: number; muted?: boolean; @@ -500,77 +501,77 @@ declare namespace chrome.cast.media { /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MediaCommand + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.MediaCommand */ - export interface MediaCommand { - PAUSE: string; - SEEK: string; - STREAM_VOLUME: string; - STREAM_MUTE: string; + export enum MediaCommand { + PAUSE = "pause", + SEEK = "seek", + STREAM_VOLUME = "stream_volume", + STREAM_MUTE = "stream_mute" } /** * @enum {number} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MetadataType + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.MetadataType */ - export interface MetadataType { - GENERIC: number; - TV_SHOW: number; - MOVIE: number; - MUSIC_TRACK: number; - PHOTO: number; + export enum MetadataType { + GENERIC, + TV_SHOW, + MOVIE, + MUSIC_TRACK, + PHOTO } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PlayerState + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.PlayerState */ - export interface PlayerState { - IDLE: string; - PLAYING: string; - PAUSED: string; - BUFFERING: string; + export enum PlayerState { + IDLE = "IDLE", + PLAYING = "PLAYING", + PAUSED = "PAUSED", + BUFFERING = "BUFFERING" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.ResumeState + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.ResumeState */ - export interface ResumeState { - PLAYBACK_START: string; - PLAYBACK_PAUSE: string; + export enum ResumeState { + PLAYBACK_START = "PLAYBACK_START", + PLAYBACK_PAUSE = "PLAYBACK_PAUSE" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.StreamType + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.StreamType */ - export interface StreamType { - BUFFERED: string; - LIVE: string; - OTHER: string; + export enum StreamType { + BUFFERED = "BUFFERED", + LIVE = "LIVE", + OTHER = "OTHER" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.IdleReason + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.IdleReason */ - export interface IdleReason { - CANCELLED: string; - INTERRUPTED: string; - FINISHED: string; - ERROR: string; + export enum IdleReason { + CANCELLED = "CANCELLED", + INTERRUPTED = "INTERRUPTED", + FINISHED = "FINISHED", + ERROR = "ERROR" } /** * @enum {string} * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.RepeatMode */ - export interface RepeatMode { - OFF:string; - ALL:string; - SINGLE:string; - ALL_AND_SHUFFLE:string; + export enum RepeatMode { + OFF = "REPEAT_OFF", + ALL = "REPEAT_ALL", + SINGLE = "REPEAT_SINGLE", + ALL_AND_SHUFFLE = "REPEAT_ALL_AND_SHUFFLE" } export interface QueueItem { @@ -581,7 +582,7 @@ declare namespace chrome.cast.media { */ new( mediaInfo: chrome.cast.media.MediaInfo - ):QueueItem; + ): QueueItem; activeTrackIds: Array; autoplay: boolean; @@ -600,7 +601,7 @@ declare namespace chrome.cast.media { */ new( items: Array - ):QueueLoadRequest; + ): QueueLoadRequest; customData: Object; items: Array; @@ -616,10 +617,10 @@ declare namespace chrome.cast.media { */ new( itemsToInsert: Array - ):QueueInsertItemsRequest; + ): QueueInsertItemsRequest; customData: Object; - insertBefore:number; + insertBefore: number; items: Array; } @@ -631,7 +632,7 @@ declare namespace chrome.cast.media { */ new( itemIdsToRemove: Array - ):QueueRemoveItemsRequest; + ): QueueRemoveItemsRequest; customData: Object; itemIds: Array; @@ -645,7 +646,7 @@ declare namespace chrome.cast.media { */ new( itemIdsToReorder: Array - ):QueueReorderItemsRequest; + ): QueueReorderItemsRequest; customData: Object; insertBefore: number; @@ -660,7 +661,7 @@ declare namespace chrome.cast.media { */ new( itemsToUpdate: Array - ):QueueUpdateItemsRequest; + ): QueueUpdateItemsRequest; customData: Object; item: Array; @@ -668,71 +669,71 @@ declare namespace chrome.cast.media { /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TrackType + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TrackType */ - export interface TrackType { - TEXT: string; - AUDIO: string; - VIDEO: string; + export enum TrackType { + TEXT = "TEXT", + AUDIO = "AUDIO", + VIDEO = "VIDEO" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackType + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TextTrackType */ - export interface TextTrackType { - SUBTITLES: string; - CAPTIONS: string; - DESCRIPTIONS: string; - CHAPTERS: string; - METADATA: string; + export enum TextTrackType { + SUBTITLES = "SUBTITLES", + CAPTIONS = "CAPTIONS", + DESCRIPTIONS = "DESCRIPTIONS", + CHAPTERS = "CHAPTERS", + METADATA = "METADATA" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackEdgeType + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TextTrackEdgeType */ - export interface TextTrackEdgeType { - NONE: string; - OUTLINE: string; - DROP_SHADOW: string; - RAISED: string; - DEPRESSED: string; + export enum TextTrackEdgeType { + NONE = "NONE", + OUTLINE = "OUTLINE", + DROP_SHADOW = "DROP_SHADOW", + RAISED = "RAISED", + DEPRESSED = "DEPRESSED" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackWindowType + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TextTrackWindowType */ - export interface TextTrackWindowType { - NONE: string; - NORMAL: string; - ROUNDED_CORNERS: string; + export enum TextTrackWindowType { + NONE = "NONE", + NORMAL = "NORMAL", + ROUNDED_CORNERS = "ROUNDED_CORNERS" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackFontGenericFamily + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TextTrackFontGenericFamily */ - export interface TextTrackFontGenericFamily { - SANS_SERIF: string; - MONOSPACED_SANS_SERIF: string; - SERIF: string; - MONOSPACED_SERIF: string; - CASUAL: string; - CURSIVE: string; - SMALL_CAPITALS: string; + export enum TextTrackFontGenericFamily { + SANS_SERIF = "SANS_SERIF", + MONOSPACED_SANS_SERIF = "MONOSPACED_SANS_SERIF", + SERIF = "SERIF", + MONOSPACED_SERIF = "MONOSPACED_SERIF", + CASUAL = "CASUAL", + CURSIVE = "CURSIVE", + SMALL_CAPITALS = "SMALL_CAPITALS" } /** * @enum {string} - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackFontStyle + * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.TextTrackFontStyle */ - export interface TextTrackFontStyle { - NORMAL: string; - BOLD: string; - BOLD_ITALIC: string; - ITALIC: string; + export enum TextTrackFontStyle { + NORMAL = "NORMAL", + BOLD = "BOLD", + BOLD_ITALIC = "BOLD_ITALIC", + ITALIC = "ITALIC" } export interface GetStatusRequest { @@ -740,7 +741,7 @@ declare namespace chrome.cast.media { * @constructor * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.GetStatusRequest */ - new():GetStatusRequest; + new(): GetStatusRequest; customData: Object; } @@ -750,7 +751,7 @@ declare namespace chrome.cast.media { * @constructor * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PauseRequest */ - new():PauseRequest; + new(): PauseRequest; customData: Object; } @@ -760,7 +761,7 @@ declare namespace chrome.cast.media { * @constructor * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PlayRequest */ - new():PlayRequest; + new(): PlayRequest; customData: Object; } @@ -770,7 +771,7 @@ declare namespace chrome.cast.media { * @constructor * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.SeekRequest */ - new():SeekRequest; + new(): SeekRequest; currentTime: number; resumeState: chrome.cast.media.ResumeState; @@ -782,7 +783,7 @@ declare namespace chrome.cast.media { * @constructor * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.StopRequest */ - new():StopRequest; + new(): StopRequest; customData: Object; } @@ -795,21 +796,21 @@ declare namespace chrome.cast.media { */ new( volume: chrome.cast.Volume - ):VolumeRequest; + ): VolumeRequest; volume: chrome.cast.Volume; customData: Object; } - export interface LoadRequest { + export class LoadRequest { /** * @param {!chrome.cast.media.MediaInfo} mediaInfo * @constructor * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.LoadRequest */ - new( + constructor( mediaInfo: chrome.cast.media.MediaInfo - ):LoadRequest; + ); activeTrackIds: Array; autoplay: boolean; @@ -828,19 +829,13 @@ declare namespace chrome.cast.media { new( activeTrackIds?: Array, textTrackStyle?: chrome.cast.media.TextTrackStyle - ):EditTracksInfoRequest; + ): EditTracksInfoRequest; activeTrackIds: Array; textTrackStyle: chrome.cast.media.TextTrackStyle; } - export interface GenericMediaMetadata { - /** - * @constructor - * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.GenericMediaMetadata - */ - new():GenericMediaMetadata; - + export class GenericMediaMetadata { images: Array; metadataType: chrome.cast.media.MetadataType; releaseDate: string; @@ -857,7 +852,7 @@ declare namespace chrome.cast.media { * @constructor * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MovieMediaMetadata */ - new():MovieMediaMetadata; + new(): MovieMediaMetadata; images: Array; metadataType: chrome.cast.media.MetadataType; @@ -898,7 +893,7 @@ declare namespace chrome.cast.media { releaseYear: number; } - export interface MusicTrackMediaMetadata { + export interface MusicTrackMediaMetadata { /** * @constructor * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MusicTrackMediaMetadata @@ -947,17 +942,17 @@ declare namespace chrome.cast.media { type: chrome.cast.media.MetadataType; } - export interface MediaInfo { + export class MediaInfo { /** * @param {string} contentId * @param {string} contentType * @constructor * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MediaInfo */ - new( + constructor( contentId: string, contentType: string - ): MediaInfo; + ); contentId: string; streamType: chrome.cast.media.StreamType; @@ -1089,14 +1084,14 @@ declare namespace chrome.cast.media { * @param {function(boolean)} listener */ addUpdateListener( - listener: (isAlive:boolean) => void + listener: (isAlive: boolean) => void ): void /** * @param {function(boolean)} listener */ removeUpdateListener( - listener: (isAlive:boolean) => void + listener: (isAlive: boolean) => void ): void /** @@ -1110,7 +1105,7 @@ declare namespace chrome.cast.media { * @param {function()} successCallback * @param {function(!chrome.cast.Error)} errorCallback */ - queueAppendItem ( + queueAppendItem( item: chrome.cast.media.QueueItem, successCallback: Function, errorCallback: (error: chrome.cast.Error) => void @@ -1121,7 +1116,7 @@ declare namespace chrome.cast.media { * @param {function()} successCallback * @param {function(!chrome.cast.Error)} errorCallback */ - queueInsertItems ( + queueInsertItems( queueInsertItemsRequest: chrome.cast.media.QueueInsertItemsRequest, successCallback: Function, errorCallback: (error: chrome.cast.Error) => void @@ -1132,7 +1127,7 @@ declare namespace chrome.cast.media { * @param {function()} successCallback * @param {function(!chrome.cast.Error)} errorCallback */ - queueJumpToItem ( + queueJumpToItem( itemId: number, successCallback: Function, errorCallback: (error: chrome.cast.Error) => void @@ -1144,7 +1139,7 @@ declare namespace chrome.cast.media { * @param {function()} successCallback * @param {function(!chrome.cast.Error)} errorCallback */ - queueMoveItemToNewIndex ( + queueMoveItemToNewIndex( itemId: number, newIndex: number, successCallback: Function, @@ -1155,7 +1150,7 @@ declare namespace chrome.cast.media { * @param {function()} successCallback * @param {function(!chrome.cast.Error)} errorCallback */ - queueNext ( + queueNext( successCallback: Function, errorCallback: (error: chrome.cast.Error) => void ): void @@ -1164,7 +1159,7 @@ declare namespace chrome.cast.media { * @param {function()} successCallback * @param {function(!chrome.cast.Error)} errorCallback */ - queuePrev ( + queuePrev( successCallback: Function, errorCallback: (error: chrome.cast.Error) => void ): void @@ -1174,7 +1169,7 @@ declare namespace chrome.cast.media { * @param {function()} successCallback * @param {function(!chrome.cast.Error)} errorCallback */ - queueRemoveItem ( + queueRemoveItem( itemId: number, successCallback: Function, errorCallback: (error: chrome.cast.Error) => void @@ -1185,7 +1180,7 @@ declare namespace chrome.cast.media { * @param {function()} successCallback * @param {function(!chrome.cast.Error)} errorCallback */ - queueReorderItems ( + queueReorderItems( queueReorderItemsRequest: chrome.cast.media.QueueReorderItemsRequest, successCallback: Function, errorCallback: (error: chrome.cast.Error) => void @@ -1196,7 +1191,7 @@ declare namespace chrome.cast.media { * @param {function()} successCallback * @param {function(!chrome.cast.Error)} errorCallback */ - queueSetRepeatMode ( + queueSetRepeatMode( repeatMode: chrome.cast.media.RepeatMode, successCallback: Function, errorCallback: (error: chrome.cast.Error) => void @@ -1207,7 +1202,7 @@ declare namespace chrome.cast.media { * @param {function()} successCallback * @param {function(!chrome.cast.Error)} errorCallback */ - queueUpdateItems ( + queueUpdateItems( queueUpdateItemsRequest: chrome.cast.media.QueueUpdateItemsRequest, successCallback: Function, errorCallback: (error: chrome.cast.Error) => void diff --git a/types/chrome/index.d.ts b/types/chrome/index.d.ts index d2b92e4b22..3553daada1 100644 --- a/types/chrome/index.d.ts +++ b/types/chrome/index.d.ts @@ -5989,6 +5989,16 @@ declare namespace chrome.tabs { * @since Chrome 45. */ audible?: boolean; + /** + * Whether the tab is discarded. A discarded tab is one whose content has been unloaded from memory, but is still visible in the tab strip. Its content gets reloaded the next time it's activated. + * @since Chrome 54. + */ + discarded: boolean; + /** + * Whether the tab can be discarded automatically by the browser when resources are low. + * @since Chrome 54. + */ + autoDiscardable: boolean; /** * Optional. * Current tab muted state and the reason for the last state change. @@ -6153,6 +6163,11 @@ declare namespace chrome.tabs { * @since Chrome 45. */ muted?: boolean; + /** + * Optional. Whether the tab should be discarded automatically by the browser when resources are low. + * @since Chrome 54. + */ + autoDiscardable?: boolean; } export interface CaptureVisibleTabOptions { @@ -6200,7 +6215,7 @@ declare namespace chrome.tabs { * Optional. Whether the tabs have completed loading. * One of: "loading", or "complete" */ - status?: string; + status?: 'loading' | 'complete'; /** * Optional. Whether the tabs are in the last focused window. * @since Chrome 19. @@ -6212,7 +6227,7 @@ declare namespace chrome.tabs { * Optional. The type of window the tabs are in. * One of: "normal", "popup", "panel", "app", or "devtools" */ - windowType?: string; + windowType?: 'normal' | 'popup' | 'panel' | 'app' | 'devtools'; /** Optional. Whether the tabs are active in their windows. */ active?: boolean; /** @@ -6231,6 +6246,18 @@ declare namespace chrome.tabs { currentWindow?: boolean; /** Optional. Whether the tabs are highlighted. */ highlighted?: boolean; + /** + * Optional. + * Whether the tabs are discarded. A discarded tab is one whose content has been unloaded from memory, but is still visible in the tab strip. Its content gets reloaded the next time it's activated. + * @since Chrome 54. + */ + discarded?: boolean; + /** + * Optional. + * Whether the tabs can be discarded automatically by the browser when resources are low. + * @since Chrome 54. + */ + autoDiscardable?: boolean; /** Optional. Whether the tabs are pinned. */ pinned?: boolean; /** @@ -6280,6 +6307,16 @@ declare namespace chrome.tabs { * @since Chrome 45. */ audible?: boolean; + /** + * The tab's new discarded state. + * @since Chrome 54. + */ + discarded?: boolean; + /** + * The tab's new auto-discardable + * @since Chrome 54. + */ + autoDiscardable?: boolean; /** * The tab's new muted state and the reason for the change. * @since Chrome 46. Warning: this is the current Beta channel. @@ -6604,6 +6641,13 @@ declare namespace chrome.tabs { * Paramater zoomSettings: The tab's current zoom settings. */ export function getZoomSettings(tabId: number, callback: (zoomSettings: ZoomSettings) => void): void; + /** + * Discards a tab from memory. Discarded tabs are still visible on the tab strip and are reloaded when activated. + * @since Chrome 54. + * @param tabId Optional. The ID of the tab to be discarded. If specified, the tab will be discarded unless it's active or already discarded. If omitted, the browser will discard the least important tab. This can fail if no discardable tabs exist. + * @param callback Called after the operation is completed. + */ + export function discard(tabId: number, callback: (tab: Tab) => void): void; /** * Fired when the highlighted or selected tabs in a window changes. diff --git a/types/ckeditor/ckeditor-tests.ts b/types/ckeditor/ckeditor-tests.ts index 1a906bc26e..d849b52a4a 100644 --- a/types/ckeditor/ckeditor-tests.ts +++ b/types/ckeditor/ckeditor-tests.ts @@ -6,9 +6,9 @@ function test_CKEDITOR() { CKEDITOR.skinName = 'moono'; CKEDITOR.skinName = 'myskin,/customstuff/myskin/'; var editor = new CKEDITOR.editor(); - if (editor.getSelection().getType() == CKEDITOR.SELECTION_ELEMENT) - if (editor.getSelection().getType() == CKEDITOR.SELECTION_NONE) - if (editor.getSelection().getType() == CKEDITOR.SELECTION_TEXT) + if (editor.getSelection(true).getType() == CKEDITOR.SELECTION_ELEMENT) + if (editor.getSelection(false).getType() == CKEDITOR.SELECTION_NONE) + if (editor.getSelection(true).getType() == CKEDITOR.SELECTION_TEXT) alert(CKEDITOR.basePath); if (CKEDITOR.currentInstance) alert(CKEDITOR.currentInstance.name); @@ -35,6 +35,13 @@ function test_CKEDITOR() { CKEDITOR.replaceAll(); CKEDITOR.replaceAll('myClassName'); CKEDITOR.replaceAll((textarea, config) => false); + + var editor: CKEDITOR.editor = CKEDITOR.appendTo('append here', CKEDITOR.config, 'data'); + var editor: CKEDITOR.editor = CKEDITOR.appendTo(document.createElement('div')); + CKEDITOR.error('code'); + CKEDITOR.error('500', { moreData: true }); + CKEDITOR.warn('danger'); + CKEDITOR.warn('303', 12345); } function test_CKEDITOR_events() { @@ -83,6 +90,8 @@ function test_dom_comment() { var nativeNode = document.createComment('Example'); var comment = new CKEDITOR.dom.comment(nativeNode); var comment2 = new CKEDITOR.dom.comment('Example'); + var comment3 = new CKEDITOR.dom.comment('Example', new CKEDITOR.dom.document(document)); + var html: string = comment.getOuterHtml(); } function test_dom_document() { @@ -103,10 +112,16 @@ function test_dom_document() { 'Document contents created by code' + '' ); + var styles: CSSStyleSheet = document.appendStyleText('some styles'); + var element: CKEDITOR.dom.element = document.createElement('div'); + var element2: CKEDITOR.dom.element = document.createElement('div', { styles: { height: '1234' } }); + var element3: CKEDITOR.dom.element = document.createElement('div', { attributes: { id: '1234' } }); + var element4: CKEDITOR.dom.element = document.createElement('div', { attributes: { tabIndex: '1234' }, styles: { width: '1234' } }); } function test_dom_documentFragment() { var type = CKEDITOR.NODE_DOCUMENT_FRAGMENT; + alert(new CKEDITOR.dom.documentFragment(document.body).type === type); } function test_dom_domObject() { @@ -124,6 +139,8 @@ function test_dom_domObject() { var elementB = new CKEDITOR.dom.element(nativeElement).getPrivate().value; var element3 = new CKEDITOR.dom.element('span'); element.setCustomData('hasCustomData', true); + + var domObject = new CKEDITOR.dom.domObject(document.createElement('div')); } function test_dom_element() { @@ -156,6 +173,7 @@ function test_dom_element() { element.appendTo(CKEDITOR.document.getBody()); alert(element.getEditor().name); var first = element.getFirst(); + var first2 = element.getFirst((node: CKEDITOR.dom.node) => node.equals(document.body)); alert(element.getHtml()); alert(element.getId()); alert(element.getName()); @@ -199,6 +217,26 @@ function test_dom_element() { alert(element == CKEDITOR.dom.element.get(element)); var htmlElement = document.getElementById('myElement'); alert(CKEDITOR.dom.element.get(htmlElement).getName()); + + var dtd: CKEDITOR.dtdDefinition = element.getDtd(); + var last: CKEDITOR.dom.node = element.getLast(); + var last2: CKEDITOR.dom.node = element.getLast((node: CKEDITOR.dom.node) => node.equals(document.body)); + if (element.isBlockBoundary({ 'div': 1, 'span': 1 })) { + element.setState(1, 'hex', false); + } + + CKEDITOR.dom.element.clearMarkers({}, element, true); + var element1: CKEDITOR.dom.element = CKEDITOR.dom.element.get('div'); + var element2: CKEDITOR.dom.element = CKEDITOR.dom.element.get(document.createElement('div')); + var element3: CKEDITOR.dom.element = CKEDITOR.dom.element.get(element2); + var markedElement: CKEDITOR.dom.element = CKEDITOR.dom.element.setMarker({}, element, 'key', 0); +} + +function test_dom_elementPath() { + var path: CKEDITOR.dom.elementPath = new CKEDITOR.dom.elementPath(CKEDITOR.dom.element.get('div')); + var path2: CKEDITOR.dom.elementPath = new CKEDITOR.dom.elementPath(CKEDITOR.dom.element.get('div'), CKEDITOR.dom.element.get(document.body)); + + var dir: 'ltr' | 'rtl' = path.direction(); } function test_dom_event() { @@ -226,8 +264,10 @@ function test_dom_event() { function test_dom_iterator() { var range = new CKEDITOR.dom.range(new CKEDITOR.dom.element('div')); var iterator = range.createIterator(); - iterator.getNextParagraph(); - iterator.getNextParagraph(); + var paragrah1: CKEDITOR.dom.element = iterator.getNextParagraph(); + var paragrah2: CKEDITOR.dom.element = iterator.getNextParagraph('div'); + alert(iterator.forceBrBreak === false); + var itRange: CKEDITOR.dom.range = iterator.range; } function test_dom_node() { @@ -255,6 +295,7 @@ function test_dom_node() { function test_dom_nodeList() { var nodeList = CKEDITOR.document.getBody().getChildren(); alert(nodeList.count()); + var nodes: CKEDITOR.dom.node[] = nodeList.toArray(); } function test_dom_range() { @@ -268,19 +309,96 @@ function test_dom_range() { alert(range.collapsed); range.selectNodeContents(range.document.getBody()); range.selectNodeContents(editor.document.getBody()); - alert(range.endContainer.getName()); + alert(range.endContainer.getPrivate()); range.selectNodeContents(editor.document.getBody()); alert(range.endOffset); range.selectNodeContents(editor.document.getBody()); - alert(range.startContainer.getName()); + alert(range.startContainer.getDocument()); range.selectNodeContents(editor.document.getBody()); alert(range.startOffset); } +function test_dom_selection() { + var element: CKEDITOR.dom.element = CKEDITOR.dom.element.get('div'); + var selection: CKEDITOR.dom.selection = new CKEDITOR.dom.selection(new CKEDITOR.dom.document(document)); + selection = new CKEDITOR.dom.selection(element); + selection = new CKEDITOR.dom.selection(selection); + + var marks: CKEDITOR.dom.bookmark[] = selection.createBookmarks('serialized'); + var marks2: CKEDITOR.dom.bookmark2[] = selection.createBookmarks2({ normalized: true }); + selection.fake(element); + selection.fake(element, true); + element = selection.getCommonAncestor(); + var domSel: Selection = selection.getNative(); + var ranges: CKEDITOR.dom.range[] = selection.getRanges(); + ranges = selection.getRanges(true); + element = selection.getSelectedElement(); + var text: string = selection.getSelectedText(); + element = selection.getStartElement(); + + var type: number = selection.getType(); + + var isSomething: boolean = selection.isCollapsed(); + isSomething = selection.isHidden(); + isSomething = selection.isInTable(); + isSomething = selection.isInTable(false); + + selection.lock(); + selection.removeAllRanges(); + selection.reset(); + selection.removeAllRanges(); + selection.reset(); + selection.scrollIntoView(); + selection = selection.selectBookmarks(marks); + selection = selection.selectBookmarks(marks2); + selection.selectElement(element); + selection.selectRanges(ranges); + selection.unlock(false); +} + +function test_dom_walker() { + var element: CKEDITOR.dom.element = CKEDITOR.dom.element.get('div'); + var range: CKEDITOR.dom.range = new CKEDITOR.dom.range(element); + + var walker: CKEDITOR.dom.walker = new CKEDITOR.dom.walker(range); + + var isSomething: boolean = walker.checkBackward(); + isSomething = walker.checkForward(); + walker.end(); + + var node: CKEDITOR.dom.node = walker.lastBackward(); + node = walker.lastForward(); + node = walker.next(); + node = walker.previous(); + walker.reset(); + + isSomething = CKEDITOR.dom.walker.blockBoundary({ 'div': 1 })(node); + isSomething = CKEDITOR.dom.walker.bogus()(node); + isSomething = CKEDITOR.dom.walker.bogus(isSomething)(node); + isSomething = CKEDITOR.dom.walker.bookmark()(node); + isSomething = CKEDITOR.dom.walker.bookmark(true)(node); + isSomething = CKEDITOR.dom.walker.bookmark(true, false)(node); + isSomething = CKEDITOR.dom.walker.editable()(node); + isSomething = CKEDITOR.dom.walker.editable(isSomething)(node); + isSomething = CKEDITOR.dom.walker.empty()(node); + isSomething = CKEDITOR.dom.walker.empty(true)(node); + isSomething = CKEDITOR.dom.walker.ignored()(node); + isSomething = CKEDITOR.dom.walker.ignored(true)(node); + isSomething = CKEDITOR.dom.walker.listItemBoundary()(node); + isSomething = CKEDITOR.dom.walker.nodeType(0)(node); + isSomething = CKEDITOR.dom.walker.nodeType(1, true)(node); + isSomething = CKEDITOR.dom.walker.temp()(node); + isSomething = CKEDITOR.dom.walker.temp(isSomething)(node); + isSomething = CKEDITOR.dom.walker.whitespaces()(node); + isSomething = CKEDITOR.dom.walker.whitespaces(isSomething)(node); +} + function test_dom_text() { var nativeNode = document.createTextNode('Example'); var text = new CKEDITOR.dom.text(nativeNode); var text2 = new CKEDITOR.dom.text('Example'); + text.substring(1, 2); + text.substring(1); } function test_dom_window() { @@ -292,6 +410,545 @@ function test_dom_window() { var size = win.getViewPaneSize(); alert(size.width); alert(size.height); + + var frame: CKEDITOR.dom.element = win.getFrame(); + win.focus(); +} + +function test_ajax() { + var req: string = CKEDITOR.ajax.load('https://ckeditor.com/ckeditor-4/'); + req = CKEDITOR.ajax.load('https://ckeditor.com/ckeditor-4/', (data: any) => console.log(data)); + + var xml: CKEDITOR.xml = CKEDITOR.ajax.loadXml('https://ckeditor.com/ckeditor-4/'); + xml = CKEDITOR.ajax.loadXml('https://ckeditor.com/ckeditor-4/', (data: any) => console.log(data)); + + CKEDITOR.ajax.post('https://ckeditor.com/ckeditor-4/', {}); + CKEDITOR.ajax.post('https://ckeditor.com/ckeditor-4/', {}, 'html'); + CKEDITOR.ajax.post('https://ckeditor.com/ckeditor-4/', {}, 'text', (data: any) => console.log(data)); +} + +function test_dataProcessor() { + var processor: CKEDITOR.dataProcessor; + processor.toDataFormat('html', 'fix'); + processor.toHtml('data'); + processor.toHtml('data', 'fix'); +} + +function test_dialog() { + var dialog: CKEDITOR.dialog = new CKEDITOR.dialog(CKEDITOR.instances[0], 'dialog'); + + var element: CKEDITOR.dom.element = CKEDITOR.dom.element.get('div'); + dialog.addFocusable(element); + dialog.addFocusable(element, 13); + dialog.addPage({ some: true, object: false }); + var ret = dialog.click('1234'); + dialog.commitContent(); + dialog.disableButton('some button'); + dialog.enableButton('4321'); + dialog = dialog.foreach(() => console.log('hey')); + + var button: CKEDITOR.ui.dialog.button = dialog.getButton('button1'); + var uiEl: CKEDITOR.ui.dialog.uiElement = dialog.getContentElement('page1', 'element1'); + element = dialog.getElement(); + var str: string = dialog.getName(); + var numb: number = dialog.getPageCount(); + var editor: CKEDITOR.editor = dialog.getParentEditor(); + var obj: { [key: string]: any } = dialog.getPosition(); + element = dialog.getSelectedElement(); + obj = dialog.getSize(); + obj = dialog.getValueOf('page1', 'ele1'); + dialog.hide(); + dialog.hidePage('1234'); + dialog.layout(); + dialog.move(1, 2, true); + dialog = dialog.reset(); + dialog.resize(numb, numb); + dialog.selectPage('1'); + dialog.setState(4); + dialog.setValueOf('page1', 'ele1', false); + dialog.setupContent(); + dialog.show(); + dialog.showPage('1234'); + dialog.updateStyle(); + + CKEDITOR.dialog.add( 'abbrDialog', this.path + 'dialogs/abbr.js' ); + CKEDITOR.dialog.add( 'abbrDialog', function ( editor: CKEDITOR.editor ) { + return { + title: 'Abbreviation Properties', + minWidth: 400, + minHeight: 200, + onLoad: () => {}, + onOk: () => {}, + onCancel: () => {}, + onShow: () => {}, + onHide: () => {}, + contents: [ + { + id: 'tab-basic', + label: 'Basic Settings', + elements: [] + }, + { + id: 'tab-adv', + label: 'Advanced Settings', + elements: [] + } + ] + }; + }); + + CKEDITOR.dialog.addIframe('frame', 'frame', 1234, 4321); + CKEDITOR.dialog.addIframe('frame', 'frame', 1234, 4321, () => console.log('loaded')); + CKEDITOR.dialog.addIframe('frame', 'frame', 1234, 4321, () => console.log('loaded'), obj); + + CKEDITOR.dialog.addUIElement('node', () => console.log('build')); + CKEDITOR.dialog.cancelButton(); + CKEDITOR.dialog.exists('dialog1'); + CKEDITOR.dialog.exists(1234); + dialog = CKEDITOR.dialog.getCurrent(); + + var isEnabled: boolean = CKEDITOR.dialog.isTabEnabled(editor, 'dialog', 'table'); + + CKEDITOR.dialog.okButton(); +} + +function test_editable() { + var element: CKEDITOR.dom.element; + var editor: CKEDITOR.editor; + + var editable: CKEDITOR.editable = new CKEDITOR.editable(editor, element); + editable = new CKEDITOR.editable(editor, document.createElement('div')); + + editable.attachClass('class'); + editable.attachListener(editable, 'event', (evt: CKEDITOR.eventInfo) => console.log('listen')).removeListener(); + editable.attachListener(new CKEDITOR.event(), 'event', (evt: CKEDITOR.eventInfo) => console.log('listen')).removeListener(); + editable.attachListener(new CKEDITOR.event(), 'event', (evt: CKEDITOR.eventInfo) => console.log('listen'), { scope: 'object' }).removeListener(); + editable.attachListener(editable, 'event', (evt: CKEDITOR.eventInfo) => console.log('listen'), { scope: 'object' }, 'data').removeListener(); + editable.attachListener(editable, 'event', (evt: CKEDITOR.eventInfo) => console.log('listen'), { scope: 'object' }, 'data', 1).removeListener(); + + editable.changeAttr('attr', 'val'); + editable.detach(); + + var range: CKEDITOR.dom.range; + editable.insertElement(element); + editable.insertElement(element, range); + editable.insertHtml('data'); + editable.insertHtml('data', 'mode'); + editable.insertHtml('data', 'mode', range); + editable.insertText(new CKEDITOR.dom.text('text')); + + var inline: boolean = editable.isInline(); + editable.setReadOnly(inline); +} + +function test_fileTools() { + var editor: CKEDITOR.editor; + var def: CKEDITOR.fileTools.uploadWidgetDefinition; + var loader: CKEDITOR.fileTools.fileLoader; + var blob: Blob; + var element: CKEDITOR.dom.element; + + CKEDITOR.fileTools.addUploadWidget(editor, 'editor', def); + CKEDITOR.fileTools.bindNotification(editor, loader); + var url: string = CKEDITOR.fileTools.getUploadUrl({ some: 'object' }); + url = CKEDITOR.fileTools.getUploadUrl({ some: 'object' }, 'type'); + + var supported = CKEDITOR.fileTools.isTypeSupported(blob, /regex/); + CKEDITOR.fileTools.markElement(element, 'name', 45); +} + +function test_fileTools_fileLoader() { + var editor: CKEDITOR.editor; + var def: CKEDITOR.fileTools.uploadWidgetDefinition; + var blob: Blob; + var element: CKEDITOR.dom.element; + + var loader: CKEDITOR.fileTools.fileLoader = new CKEDITOR.fileTools.fileLoader(editor, 'data'); + loader = new CKEDITOR.fileTools.fileLoader(editor, blob); + loader = new CKEDITOR.fileTools.fileLoader(editor, blob, 'name'); + + loader.abort(); + var finished: boolean = loader.isFinished(); + loader.load(); + loader.loadAndUpload('url'); + loader.loadAndUpload('url', { someHeader: '1234' }); + + loader.update(); + loader.upload('url'); + loader.upload('url', { someHeader: '1234' }); +} + +function test_fileTools_uploadRepository() { + var editor: CKEDITOR.editor; + var blob: Blob; + var repo: CKEDITOR.fileTools.uploadRepository = new CKEDITOR.fileTools.uploadRepository(editor); + + var loader: CKEDITOR.fileTools.fileLoader = repo.create('data', 'name'); + loader = repo.create(blob, 'name', 'type'); + + var fin: boolean = loader.isFinished(); +} + +function test_filter() { + var editor: CKEDITOR.editor; + var style: CKEDITOR.style; + + var filter: CKEDITOR.filter = new CKEDITOR.filter(editor); + filter = new CKEDITOR.filter('rule'); + filter = new CKEDITOR.filter(style); + filter = new CKEDITOR.filter([ style, 'rule', [ style, 'rule' ] ]); + filter = CKEDITOR.filter.instances['1234']; + + filter.addContentForms([ { form: true } ]); + filter.addElementCallback((el: CKEDITOR.htmlParser.element) => 4); + filter.addFeature({ allowedContent: style }); + filter.addTransformations([ [ 'transform1', { right: (element: CKEDITOR.htmlParser.element, tools: string | CKEDITOR.filter.transformationTools) => true } ] ]); + + var allowed: boolean = filter.allow(style); + allowed = filter.allow([style], 'name'); + allowed = filter.allow('rule', 'name', false); + + var apply: boolean = filter.applyTo(CKEDITOR.htmlParser.fragment.fromHtml('string'), true, false, 1); + apply = filter.applyTo(new CKEDITOR.htmlParser.element('name', null), true, false, 1); + + var checked: boolean = filter.check(style); + checked = filter.check('rule', true); + checked = filter.check(style, false, true); + + checked = filter.checkFeature({ allowedContent: style }); + + filter = filter.clone(); + filter.destroy(); + filter.disable(); + + filter.disallow(filter.disallowedContent); + var mode: number = filter.getAllowedEnterMode(1); + mode = filter.getAllowedEnterMode(1, false); +} + +function test_focusManager() { + var textarea = document.createElement('textarea'); + var instance = CKEDITOR.replace(textarea); + var element = CKEDITOR.document.getById('myElement'); + + instance.focusManager.focus(); + instance.focusManager.focus(element); + instance.focusManager.lock(); + instance.focusManager.unlock(); + instance.focusManager.blur(); + instance.focusManager.blur(true); + instance.focusManager.add(element, true); + instance.focusManager.remove(element); + + var focusManager = new CKEDITOR.focusManager(CKEDITOR.instances[0]); + var object: CKEDITOR.dom.domObject = focusManager.currentActive; + var bool: boolean = focusManager.hasFocus; +} + + +function test_htmlParser_basicWriter() { + var writer = new CKEDITOR.htmlParser.basicWriter(); + writer.attribute('class', 'MyClass'); + writer.closeTag('p'); + writer.comment('hello'); + alert(writer.getHtml(true)); // '

Hello

' + writer.openTag('p', {}); + writer.openTagClose('p', false); + writer.reset(); + writer.text('Hello'); + writer.write('data'); +} + +function test_htmlParser_cdata() { + var cdata: CKEDITOR.htmlParser.cdata = new CKEDITOR.htmlParser.cdata('hey'); + cdata.writeHtml(new CKEDITOR.htmlParser.basicWriter()); +} + +function test_htmlParser_comment() { + var filter: CKEDITOR.htmlParser.filter; + var comment: CKEDITOR.htmlParser.comment = new CKEDITOR.htmlParser.comment('hey'); + var filtered: boolean = comment.filter(filter); + comment.writeHtml(new CKEDITOR.htmlParser.basicWriter()); + comment.writeHtml(new CKEDITOR.htmlParser.basicWriter(), filter); +} + +function test_htmlParser_cssStyle() { + var element: CKEDITOR.htmlParser.element; + + var style: CKEDITOR.htmlParser.cssStyle = new CKEDITOR.htmlParser.cssStyle(element); + style = new CKEDITOR.htmlParser.cssStyle('styles'); + + style.populate(element); + style.populate(new CKEDITOR.dom.element('div')); + style.populate({ 'width': 1 }); +} + +function test_htmlParser_element() { + var element: CKEDITOR.htmlParser.element = new CKEDITOR.htmlParser.element('el', { 'id': '1'}); + + var node: CKEDITOR.htmlParser.node; + element.add(node); + element.add(node, 5); + element.addClass('class'); + element = element.clone(); + + var filter: CKEDITOR.htmlParser.filter; + var filtered: boolean = element.filter(filter); + element.filterChildren(filter); + + var nodes: CKEDITOR.htmlParser.node[] = element.find('*'); + nodes = element.find((el: CKEDITOR.htmlParser.node) => false, true); + + element.forEach((el: CKEDITOR.htmlParser.node) => console.log('node')); + element.forEach((el: CKEDITOR.htmlParser.node) => console.log('node'), 1); + element.forEach((el: CKEDITOR.htmlParser.node) => false, 2, true); + + var node: CKEDITOR.htmlParser.node = element.getFirst('*'); + node = element.getFirst({ 'id': '1' }); + node = element.getFirst((el: CKEDITOR.htmlParser.node) => true); + + var html: string = element.getHtml(); + html = element.getOuterHtml(); + + var hasClass: boolean = element.hasClass('class'); + element.removeClass('class'); + element.replaceWithChildren(); + element.setHtml('html'); + var el2: CKEDITOR.htmlParser.element = element.split(1); + + element.writeChildrenHtml(new CKEDITOR.htmlParser.basicWriter()); + element.writeChildrenHtml(new CKEDITOR.htmlParser.basicWriter(), filter); + + element.writeHtml(new CKEDITOR.htmlParser.basicWriter()); + element.writeHtml(new CKEDITOR.htmlParser.basicWriter(), filter); +} + +function test_htmlParser_filter() { + var filter: CKEDITOR.htmlParser.filter = new CKEDITOR.htmlParser.filter({ elementNames: [ 'div' ] }); + filter = new CKEDITOR.htmlParser.filter(); + + filter.addRules({ text: 'text' }); + filter.addRules({ attributes: { 'id': '1234' }}, 1); + filter.addRules({ comment: 'hey', text: 'text' }, { priority: 1 }); + filter.addRules({ root: document.body }, { applyToAll: false }); + + var node: CKEDITOR.htmlParser.node; + filter.applyTo(node); +} + + +function test_htmlParser_filterRulesGroup() { + var rules: CKEDITOR.htmlParser.filterRulesGroup = new CKEDITOR.htmlParser.filterRulesGroup(); + + rules.add([ 'some', 'rule' ], 1, { applyToAll: false, excludeNestedEditable: true }); + + rules.addMany([ (value: CKEDITOR.htmlParser.node | CKEDITOR.htmlParser.fragment | string) => false, [ 'some', 'rule' ] ], 1, { applyToAll: false }); + + var nodeFragOrString: CKEDITOR.htmlParser.node | CKEDITOR.htmlParser.fragment | string; + nodeFragOrString = rules.exec(nodeFragOrString); + + var str: string; + str = rules.execOnName(str); + + var idx: number = rules.findIndex(1); +} + +function test_htmlParser_fragment() { + var frag: CKEDITOR.htmlParser.fragment = new CKEDITOR.htmlParser.fragment(); + + var node: CKEDITOR.htmlParser.node; + frag.add(node); + frag.add(node, 1); + + var filter: CKEDITOR.htmlParser.filter; + frag.filter(filter); + frag.filterChildren(filter); + frag.filterChildren(filter, true); + frag.forEach((node: CKEDITOR.htmlParser.node) => console.log('node')); + frag.forEach((node: CKEDITOR.htmlParser.node) => false, 1); + frag.forEach((node: CKEDITOR.htmlParser.node) => false, 2, true); + + frag.writeChildrenHtml(new CKEDITOR.htmlParser.basicWriter()); + frag.writeChildrenHtml(new CKEDITOR.htmlParser.basicWriter(), filter); + + frag.writeHtml(new CKEDITOR.htmlParser.basicWriter()); + frag.writeHtml(new CKEDITOR.htmlParser.basicWriter(), filter); + + frag = CKEDITOR.htmlParser.fragment.fromBBCode('code'); + + var fragOrEl: CKEDITOR.htmlParser.fragment | CKEDITOR.htmlParser.element = CKEDITOR.htmlParser.fragment.fromHtml('html'); + fragOrEl = CKEDITOR.htmlParser.fragment.fromHtml('html', 'parent'); + fragOrEl = CKEDITOR.htmlParser.fragment.fromHtml('html', 'parent', 'fix'); + fragOrEl = CKEDITOR.htmlParser.fragment.fromHtml('html', new CKEDITOR.htmlParser.element('name', null), true); +} + +function test_htmlParser_node() { + var node: CKEDITOR.htmlParser.node = new CKEDITOR.htmlParser.node(); + + var el: CKEDITOR.htmlParser.element = node.getAscendant('condition'); + el = node.getAscendant({ 'id': '1234' }); + el = node.getAscendant((node: CKEDITOR.htmlParser.element) => false); + + var idx: number = node.getIndex(); + node.insertAfter(node); + node.insertBefore(node); + node.remove(); + node.replaceWith(node); + el = node.wrapWith(el); + +} + +function test_htmlParser_text() { + var text: CKEDITOR.htmlParser.text = new CKEDITOR.htmlParser.text('text'); + var filtered: boolean = text.filter(new CKEDITOR.htmlParser.filter()); + text.writeHtml(new CKEDITOR.htmlParser.basicWriter()); + text.writeHtml(new CKEDITOR.htmlParser.basicWriter(), new CKEDITOR.htmlParser.filter()); +} + +function test_htmlWriter() { + var writer = new CKEDITOR.htmlWriter(); + writer.openTag('p', {}); + writer.attribute('class', 'MyClass'); + writer.openTagClose('p', false); + writer.text('Hello'); + writer.closeTag('p'); + alert(writer.getHtml(true)); // '

Hello

' + + writer.indentationChars = '\t'; + writer.lineBreakChars = '\r\n'; + writer.selfClosingEnd = '>'; + writer.indentation(); + writer.lineBreak(); + writer.setRules('img', {breakBeforeOpen: true, breakAfterOpen: true}); +} + +function test_htmlParser() { + var html = '
text
'; + var fragment = CKEDITOR.htmlParser.fragment.fromHtml(html); + fragment.forEach(function(node) { + if (node instanceof CKEDITOR.htmlParser.element) { + node.forEach(function(node) { + console.log(node); + }); + } + }, CKEDITOR.NODE_ELEMENT, true); +} + +function test_keystrokeHandler() { + var handler: CKEDITOR.keystrokeHandler = new CKEDITOR.keystrokeHandler(CKEDITOR.instances[0]); + handler.attach(new CKEDITOR.dom.domObject(document.body)); +} + +function test_lang() { + var lang: string = CKEDITOR.lang.detect('en'); + lang = CKEDITOR.lang.detect('zh', 'sw'); + + CKEDITOR.lang.load('tk', 'pr', (code: string, entries: any) => console.log('loaded')); +} + +function test_loader() { + CKEDITOR.loader.load('script'); + CKEDITOR.loader.load('script', true); + + CKEDITOR.loader.loadPending(); +} + +function test_menu() { + var menu: CKEDITOR.menu = new CKEDITOR.menu(); + + menu.add({ anything: true }); + menu.addListener((startElement: CKEDITOR.dom.element, selection: CKEDITOR.dom.selection, path: CKEDITOR.dom.elementPath) => 'return'); + var { item, element } = menu.findItemByCommandName('command'); + menu.hide(); + menu.hide(false); + menu.removeAll(); + menu.show(new CKEDITOR.dom.element('div')); + menu.show(new CKEDITOR.dom.element('div'), 1); + menu.show(new CKEDITOR.dom.element('div'), 1, 2); + menu.show(new CKEDITOR.dom.element('div'), 1, 2, 3); +} + +function test_plugins() { + CKEDITOR.plugins.add( 'abbr', { + init: function( editor: CKEDITOR.editor ) { + // empty logic + } + }); + + console.log(CKEDITOR.plugins.registered['abbr']); +} + +function test_resourceManager() { + var manager: CKEDITOR.resourceManager = new CKEDITOR.resourceManager('path', 'name'); + + manager.add('name'); + manager.add('name', { hidpi: true }); + manager.addExternal('names', 'path'); + manager.addExternal('names', 'path', 'name'); + + var def: CKEDITOR.pluginDefinition = manager.get('name'); + var path: string = manager.getFilePath('path'); + path = manager.getPath('path'); + + manager.load('name', (loaded: string[]) => console.log('hey')); + manager.load([ 'name' ], (loaded: string[]) => console.log('hey'), manager); +} + +function test_scriptLoader() { + CKEDITOR.scriptLoader.load('url', (succeededUrls: boolean | string[], failedUrls: string[]) => console.log('loaded')); + CKEDITOR.scriptLoader.load([ 'url' ], (succeededUrls: boolean | string[], failedUrls: string[]) => console.log('loaded'), null); + CKEDITOR.scriptLoader.load([ 'url' ], (succeededUrls: boolean | string[], failedUrls: string[]) => console.log('loaded'), null, true); + CKEDITOR.scriptLoader.queue('url', (succeeded: boolean) => console.log('loaded')); +} + +function test_skin() { + CKEDITOR.skin.addIcon('name', 'path'); + CKEDITOR.skin.addIcon('name', 'path', 1); + CKEDITOR.skin.addIcon('name', 'path', 1, 'small'); + + CKEDITOR.skin.chameleon('editor', 'part'); + + var style: any = CKEDITOR.skin.getIconStyle('name'); + style = CKEDITOR.skin.getIconStyle('name', true); + style = CKEDITOR.skin.getIconStyle('name', true, 1); + style = CKEDITOR.skin.getIconStyle('name', true, 1, 'large'); + + var path: any = CKEDITOR.skin.getPath('part'); + + CKEDITOR.skin.loadPart('part', () => console.log('load')); + + var path2: string = CKEDITOR.skin.path(); +} + +function test_style() { + var style: CKEDITOR.style = new CKEDITOR.style({ element: 'div' }, { 'key': 'value '}); + style.apply(CKEDITOR.instances[0]); + + var el: CKEDITOR.dom.element; + style.applyToObject(el, CKEDITOR.instances[0]); + + var range: CKEDITOR.dom.range; + style.applyToRange(range, CKEDITOR.instances[0]); + + var str: string = style.buildPreview(); + str = style.buildPreview('label'); + + var path: CKEDITOR.dom.elementPath; + var bool: boolean = style.checkActive(path, CKEDITOR.instances[0]); + + var filter: CKEDITOR.filter; + bool = style.checkApplicable(path, CKEDITOR.instances[0], filter); + + bool = style.checkElementMatch(el, true, CKEDITOR.instances[0]); + bool = style.checkElementRemovable(el, false, CKEDITOR.instances[0]); + + var def: CKEDITOR.style.definition = style.getDefintion(); + style.remove(CKEDITOR.instances[0]); + style.removeFromRange(range, CKEDITOR.instances[0]); + + var rules: CKEDITOR.filter.allowedContentRules; + rules = style.toAllowedContentRules(); + rules = style.toAllowedContentRules(CKEDITOR.instances[0]); } function test_adding_command_and_buttons() { @@ -320,47 +977,6 @@ function test_adding_command_and_buttons() { }); } -function test_adding_dialog_by_path() { - CKEDITOR.dialog.add( 'abbrDialog', this.path + 'dialogs/abbr.js' ); -} - -function test_adding_dialog_by_definition() { - CKEDITOR.dialog.add( 'abbrDialog', function ( editor: CKEDITOR.editor ) { - return { - title: 'Abbreviation Properties', - minWidth: 400, - minHeight: 200, - onLoad: () => {}, - onOk: () => {}, - onCancel: () => {}, - onShow: () => {}, - onHide: () => {}, - contents: [ - { - id: 'tab-basic', - label: 'Basic Settings', - elements: [] - }, - { - id: 'tab-adv', - label: 'Advanced Settings', - elements: [] - } - ] - }; - }); -} - -function test_plugins() { - CKEDITOR.plugins.add( 'abbr', { - init: function( editor: CKEDITOR.editor ) { - // empty logic - } - }); - - console.log(CKEDITOR.plugins.registered['abbr']); -} - function test_adding_widget() { function wrapper(editor: CKEDITOR.editor) { editor.widgets.add("widgetty", { @@ -374,52 +990,6 @@ function test_adding_widget() { } } -function test_focusManager() { - var textarea = document.createElement('textarea'); - var instance = CKEDITOR.replace(textarea); - var element = CKEDITOR.document.getById('myElement'); - - instance.focusManager.focus(); - instance.focusManager.focus(element); - instance.focusManager.lock(); - instance.focusManager.unlock(); - instance.focusManager.blur(); - instance.focusManager.blur(true); - instance.focusManager.add(element, true); - instance.focusManager.remove(element); - - var focusManager = new CKEDITOR.focusManager(instance); - var object: CKEDITOR.dom.domObject = focusManager.currentActive; - var bool: boolean = focusManager.hasFocus; -} - -function test_basicWriter() { - var writer = new CKEDITOR.htmlParser.basicWriter(); - writer.openTag('p', {}); - writer.attribute('class', 'MyClass'); - writer.openTagClose('p', false); - writer.text('Hello'); - writer.closeTag('p'); - alert(writer.getHtml(true)); // '

Hello

' -} - -function test_htmlWriter() { - var writer = new CKEDITOR.htmlWriter(); - writer.openTag('p', {}); - writer.attribute('class', 'MyClass'); - writer.openTagClose('p', false); - writer.text('Hello'); - writer.closeTag('p'); - alert(writer.getHtml(true)); // '

Hello

' - - writer.indentationChars = '\t'; - writer.lineBreakChars = '\r\n'; - writer.selfClosingEnd = '>'; - writer.indentation(); - writer.lineBreak(); - writer.setRules('img', {breakBeforeOpen: true, breakAfterOpen: true}); -} - function test_sharedSpace() { CKEDITOR.inline('content', { removePlugins: 'maximize,resize', @@ -558,7 +1128,7 @@ function test_selection() { var editor = new CKEDITOR.editor(); var testNode = CKEDITOR.document.getById('myElement'); - var selection = editor.getSelection(); + var selection = editor.getSelection(true); var ranges = selection.getRanges(); for (var i = 0, c = ranges.length; i < c; i++) { var range = ranges[i]; @@ -570,31 +1140,75 @@ function test_selection() { } function test_tools() { - var obj = { key: 'value' }; + var obj: { [key: string]: any } = { key: 'value' }; + + CKEDITOR.tools.addFunction(console.log); + CKEDITOR.tools.addFunction(console.log, obj); + var bool = CKEDITOR.tools.arrayCompare([ 1 ], [ 2, 3 ]); CKEDITOR.tools.clone(obj); CKEDITOR.tools.copy(obj); - CKEDITOR.tools.prototypedCopy(obj); - + obj = CKEDITOR.tools.createClass(obj); + var str = CKEDITOR.tools.cssStyleToDomStyle('style'); + var prefixes: { [cssClass: string]: string | number } = CKEDITOR.tools.cssVendorPrefix('prop', 'val'); + prefixes = CKEDITOR.tools.cssVendorPrefix('prop', 'val', true); + var fn: (param: any) => boolean + fn = CKEDITOR.tools.defer<(param: any) => boolean>(fn); + CKEDITOR.tools.enableHtml5Elements(document); + CKEDITOR.tools.enableHtml5Elements(document.createDocumentFragment(), true); + str = CKEDITOR.tools.escapeCss('css'); + var { input, reset } = CKEDITOR.tools.eventsBuffer(1, console.log, obj); + obj = CKEDITOR.tools.extend(obj, obj, true, obj); + bool = CKEDITOR.tools.fixDomain(); + str = CKEDITOR.tools.genKey(str); + str = CKEDITOR.tools.getCookie(str); + str = CKEDITOR.tools.getCsrfToken(); + var numb: number = CKEDITOR.tools.getIndex(['string', 'array'], (element: string) => false); + bool = CKEDITOR.tools.getMouseButton(new CKEDITOR.dom.event(document.createEvent(null))); + str = CKEDITOR.tools.getNextId(); + numb = CKEDITOR.tools.getNextNumber(); + str = CKEDITOR.tools.getUniqueId(); + str = CKEDITOR.tools.htmlDecode(str); + str = CKEDITOR.tools.htmlDecodeAttr(str); + str = CKEDITOR.tools.htmlEncode(str); + str = CKEDITOR.tools.htmlEncodeAttr(str); + numb = CKEDITOR.tools.indexOf(['string', 'array'], 'string'); + numb = CKEDITOR.tools.indexOf([true, false], (val: boolean) => false); console.log(CKEDITOR.tools.isArray([1])); // true console.log(CKEDITOR.tools.isArray(obj)); // false console.log(CKEDITOR.tools.isArray(null)); // false console.log(CKEDITOR.tools.isArray(undefined)); // false - + bool = CKEDITOR.tools.isEmpty(obj); + var ret1: { display: string[], aria: string[] } = CKEDITOR.tools.keystrokeToArray(obj, 1); + var ret2: { display: string, aria: string } = CKEDITOR.tools.keystrokeToString(obj, 1); + str = CKEDITOR.tools.ltrim(str); + str = CKEDITOR.tools.normalizeCssText(str, bool); + str = CKEDITOR.tools.normalizeHex(str); + bool = CKEDITOR.tools.objectCompare(obj, obj); + bool = CKEDITOR.tools.objectCompare(obj, obj, true); + var strArr: string[] = CKEDITOR.tools.objectKeys(obj); CKEDITOR.tools.override(parseInt, function(_parseInt) { return function(value: any, radix?: number) { return _parseInt(value, radix); }; }); -} - -function test_htmlParser() { - var html = '
text
'; - var fragment = CKEDITOR.htmlParser.fragment.fromHtml(html); - fragment.forEach(function(node) { - if (node instanceof CKEDITOR.htmlParser.element) { - node.forEach(function(node) { - console.log(node); - }); - } - }, CKEDITOR.NODE_ELEMENT, true); + obj = CKEDITOR.tools.parseCssText(str); + obj = CKEDITOR.tools.parseCssText(str, bool); + obj = CKEDITOR.tools.parseCssText(str, bool, bool); + obj = CKEDITOR.tools.prototypedCopy(obj); + CKEDITOR.tools.removeFunction(1); + str = CKEDITOR.tools.repeat(str, 40); + str = CKEDITOR.tools.rtrim(str); + str = CKEDITOR.tools.search(strArr, 'string'); + str = CKEDITOR.tools.search(strArr, (el: string) => true); + CKEDITOR.tools.setCookie('name', 'value'); + numb = CKEDITOR.tools.setTimeout(console.log); + numb = CKEDITOR.tools.setTimeout(console.log, 1000); + numb = CKEDITOR.tools.setTimeout(console.log, 1000, obj); + numb = CKEDITOR.tools.setTimeout(console.log, 1000, obj, 'timeout'); + numb = CKEDITOR.tools.setTimeout(console.log, 1000, obj, 'timeout', window); + str = CKEDITOR.tools.transformPlainTextToHtml(str, 1); + str = CKEDITOR.tools.trim(str); + CKEDITOR.tools.tryThese([ console.log, console.warn ]); + str = CKEDITOR.tools.writeCssText(obj); + str = CKEDITOR.tools.writeCssText(obj, true); } diff --git a/types/ckeditor/index.d.ts b/types/ckeditor/index.d.ts index 3370479bff..53760a7610 100644 --- a/types/ckeditor/index.d.ts +++ b/types/ckeditor/index.d.ts @@ -1,113 +1,133 @@ -// Type definitions for CKEditor -// Project: http://ckeditor.com/ +// Type definitions for CKEditor 4.9 +// Project: https://ckeditor.com/ckeditor-4/ // Definitions by: Thomas Wittwer +// Stuart Long // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // WORK-IN-PROGRESS: Any contribution support welcomed. // See https://github.com/DefinitelyTyped/DefinitelyTyped/issues/1827 for more informations. interface Window { - CKEDITOR_BASEPATH: string; + CKEDITOR_BASEPATH: string; } declare namespace CKEDITOR { // Config options var disableAutoInline: boolean; - var disableObjectResizing: boolean; var replaceClass: string; var skinName: string; // Properties - var ALT: number; - var CTRL: number; - var DIALOG_RESIZE_BOTH: number; - var DIALOG_RESIZE_HEIGHT: number; - var DIALOG_RESIZE_NONE: number; - var DIALOG_RESIZE_WIDTH: number; - var DIALOG_STATE_IDLE: number; - var DIALOG_STATE_BUSY: number; - var ELEMENT_MODE_APPENDTO: number; - var ELEMENT_MODE_INLINE: number; - var ELEMENT_MODE_NONE: number; - var ELEMENT_MODE_REPLACE: number; - var END: number; - var ENTER_BR: number; - var ENTER_P: number; - var EVENT_PHASE_AT_TARGET: number; - var EVENT_PHASE_BUBBLING: number; - var EVENT_PHASE_CAPTURING: number; - var LINEUTILS_AFTER: number; - var LINEUTILS_BEFORE: number; - var LINEUTIS_INSIDE: number; - var NODE_COMMENT: number; - var NODE_DOCUMENT: number; - var NODE_DOCUMENT_FRAGMENT: number; - var NODE_ELEMENT: number; - var NODE_TEXT: number; - var POSITION_BEFORE_START: number; - var POSITION_BEFORE_END: number; - var POSITION_AFTER_START: number; - var POSITION_AFTER_END: number; - var SELECTION_ELEMENT: number; - var SELECTION_NONE: number; - var SELECTION_TEXT: number; - var SHIFT: number; - var SHRINK_ELEMENT: number; - var SHRINK_TEXT: number; - var START: number; - var STYLE_BLOCK: string; - var STYLE_INLINE: string; - var STYLE_OBJECT: string; - var TRISTATE_DISABLED: number; - var TRISTATE_OFF: number; - var TRISTATE_ON: number; - var UI_BUTTON: string; - var UI_MENUBUTTON: string; - var UI_PANEL: string; - var UI_PANELBUTTON: string; - var UI_RICHCOMBO: string; - var UI_SEPARATOR: string; + const ALT: number; + const CTRL: number; + const DATA_TRANSFER_CROSS_EDITORS: number; + const DATA_TRANSFER_EXTERNAL: number; + const DATA_TRANSFER_INTERNAL: number; + const DIALOG_RESIZE_BOTH: number; + const DIALOG_RESIZE_HEIGHT: number; + const DIALOG_RESIZE_NONE: number; + const DIALOG_RESIZE_WIDTH: number; + const DIALOG_STATE_BUSY: number; + const DIALOG_STATE_IDLE: number; + const ELEMENT_MODE_APPENDTO: number; + const ELEMENT_MODE_INLINE: number; + const ELEMENT_MODE_NONE: number; + const ELEMENT_MODE_REPLACE: number; + const END: number; + const ENLARGE_BLOCK_CONTENTS: number; + const ENLARGE_ELEMENT: number; + const ENLARGE_INLINE: number; + const ENLARGE_LIST_ITEM_CONTENTS: number; + const ENTER_BR: number; + const ENTER_DIV: number; + const ENTER_P: number; + const EVENT_PHASE_AT_TARGET: number; + const EVENT_PHASE_BUBBLING: number; + const EVENT_PHASE_CAPTURING: number; + const FILTER_SKIP_TREE: number; + const LINEUTILS_AFTER: number; + const LINEUTILS_BEFORE: number; + const LINEUTIS_INSIDE: number; + const MOUSE_BUTTON_LEFT: number; + const MOUSE_BUTTON_MIDDLE: number; + const MOUSE_BUTTON_RIGHT: number; + const NODE_COMMENT: number; + const NODE_DOCUMENT: number; + const NODE_DOCUMENT_FRAGMENT: number; + const NODE_ELEMENT: number; + const NODE_TEXT: number; + const POSITION_AFTER_END: number; + const POSITION_AFTER_START: number; + const POSITION_BEFORE_END: number; + const POSITION_BEFORE_START: number; + const POSITION_CONTAINS: number; + const POSITION_DISCONNECTED: number; + const POSITION_FOLLOWING: number; + const POSITION_IDENTICAL: number; + const POSITION_IS_CONTAINED: number; + const POSITION_PRECEDING: number; + const SELECTION_ELEMENT: number; + const SELECTION_NONE: number; + const SELECTION_TEXT: number; + const SHIFT: number; + const SHRINK_ELEMENT: number; + const SHRINK_TEXT: number; + const START: number; + const STYLE_BLOCK: string; + const STYLE_INLINE: string; + const STYLE_OBJECT: string; + const TRISTATE_DISABLED: number; + const TRISTATE_OFF: number; + const TRISTATE_ON: number; + const UI_BUTTON: string; + const UI_MENUBUTTON: string; + const UI_PANEL: string; + const UI_PANELBUTTON: string; + const UI_RICHCOMBO: string; + const UI_SEPARATOR: string; + const VERBOSITY_ERROR: number; + const VERBOSITY_WARN: number; + var basePath: string; var currentInstance: editor; var document: dom.document; - var env: environmentConfig; - var instances: { [id: string]: editor | undefined }; + var instances: { [id: string]: editor }; var loadFullCoreTimeout: number; var revision: string; var rnd: number; var status: string; var timestamp: string; + var verbosity: number; var version: string; - var config: config; + const config: config; // Methods function add(editor: editor): void; function addCss(css: string): void; function addTemplate(name: string, source: string): template; - function appendTo(element: string, config?: config, data?: string): editor; - function appendTo(element: HTMLElement, config?: config, data?: string): editor; + function appendTo(element: string | HTMLElement, config?: config, data?: string): editor; function domReady(): void; - function dialogCommand(dialogName: string): void; function editorConfig(config: config): void; + function error(errorCode: string, additionalData?: any): void; function getCss(): string; function getTemplate(name: string): template; function getUrl(resource: string): string; - function inline(element: string, instanceConfig?: config): editor; - function inline(element: HTMLElement, instanceConfig?: config): editor; + function inline(element: string | HTMLElement, instanceConfig?: config): editor; function inlineAll(): void; function loadFullCore(): void; function replace(element: string | HTMLTextAreaElement, config?: config): editor; function replaceAll(className?: string): void; function replaceAll(assertionFunction: (textarea: HTMLTextAreaElement, config: config) => boolean): void; + function warn(errorCode: string, additionalData?: any): void; // Event interface function capture(): void; - function define(name: string, meta: Object): void; - function fire(eventName: string, data?: Object, editor?: editor): any; - function fireOnce(eventName: string, data?: Object, editor?: editor): any; + function define(name: string, meta: { [key: string]: any }): void; + function fire(eventName: string, data?: { [key: string]: any }, editor?: editor): any; + function fireOnce(eventName: string, data?: { [key: string]: any }, editor?: editor): any; function hasListeners(eventName: string): boolean; - function on(eventName: string, listenerFunction: (eventInfo: eventInfo) => void, scopeObj?: Object, listenerData?: Object, priority?: number): void; - function once(eventName: string, listenerFunction: (eventInfo: eventInfo) => void, scopeObj?: Object, listenerData?: Object, priority?: number): void; + function on(eventName: string, listenerFunction: (eventInfo: eventInfo) => void, scopeObj?: { [key: string]: any }, listenerData?: { [key: string]: any }, priority?: number): void; + function once(eventName: string, listenerFunction: (eventInfo: eventInfo) => void, scopeObj?: { [key: string]: any }, listenerData?: { [key: string]: any }, priority?: number): void; function removeAllListeners(): void; function removeListener(eventName: string, listenerFunction: (eventInfo: eventInfo) => void): void; @@ -124,29 +144,31 @@ declare namespace CKEDITOR { collapsed: boolean; } - class comment { - - // Properties - type: number; - - // Methods - constructor(comment: string, ownerDocument?: document); - constructor(comment: Object, ownerDocument?: document); - getOuterHtml(): string; - + interface bookmark2 { + start: number[]; + end: number[]; + startOffset: number; + endOffset: number; + collapsed: boolean; + normalized: boolean; + is2: boolean; } + class comment extends node { + readonly type: number; + + constructor(comment: string | Node, ownerDocument?: document); + getOuterHtml(): string; + } class document extends domObject { + readonly $: Document; + readonly type: number; - // Properties - type: number; - - // Methods - constructor(domDocument: Object); + constructor(domDocument: { [key: string]: any }); appendStyleSheet(cssFileUrl: string): void; - appendStyleText(cssStyleText: string): Object; - createElement(name: string, attribsAndStyles?: { attributes: Object; styles: Object; }): element; + appendStyleText(cssStyleText: string): CSSStyleSheet; + createElement(name: string, attribsAndStyles?: { attributes?: { [key: string]: string }; styles?: { [key: string]: string }; }): element; createText(text: string): element; find(selector: string): nodeList; findOne(selector: string): element; @@ -161,61 +183,44 @@ declare namespace CKEDITOR { getSelection(): selection; getWindow(): window; write(html: string): void; - } + class documentFragment extends node { + readonly type: number; - class documentFragment { - - // Properties - type: number; - - // Methods - constructor(nodeOrDoc: Object); + constructor(nodeOrDoc: { [key: string]: any }); insertAfterNode(node: node): void; - } + class domObject extends CKEDITOR.event { + readonly $: any; - class domObject extends event { - - // Properties - $: HTMLElement; - - // Methods - constructor(nativeDomObject: Object); + constructor(nativeDomObject: { [key: string]: any }); clearCustomData(): void; equals(object: any): boolean; getCustomData(key: string): any; getPrivate(): any; getUniqueId(): number; removeAllListeners(): void; - removeCustomData(key: string): Object; - setCustomData(key: string, value: Object): domObject; - + removeCustomData(key: string): any; + setCustomData(key: string, value: any): domObject; } - class element extends node { + readonly $: HTMLElement; + readonly type: number; - // Properties - type: number; - - // Methods constructor(element: string, ownerDocument?: document); constructor(element: HTMLElement, ownerDocument?: document); addClass(className: string): void; - append(node: node, toStart?: boolean): node; - append(node: string, toStart?: boolean): node; + append(node: node | string, toStart?: boolean): node; appendBogus(force: boolean): void; appendHtml(html: string): void; appendText(text: string): node; breakParent(parent: element): void; contains(node: node): boolean; - copyAttributes(dest: element, skipAttributes: Object): void; - data(name: string): string; - data(name: string, value: string): void; - data(name: string, value: boolean): void; + copyAttributes(dest: element, skipAttributes: { [key: string]: string }): void; + data(name: string, value?: string | false): string; disableContextMenu(): void; find(selector: string): nodeList; findOne(selector: string): element; @@ -224,23 +229,22 @@ declare namespace CKEDITOR { focusPrevious(ignoreChildren?: boolean, indexToUse?: number): void; forEach(callback: (node: node) => void, type?: number, skipRoot?: boolean): void; getAttribute(name: string): string; - getBogus(): Object; - getChild(indices: number): node; - getChild(indices: number[]): node; + getBogus(): node | boolean; + getChild(indices: number | number[]): node; getChildCount(): number; getChildren(): nodeList; - getClientRect(): any; + getClientRect(): ClientRect; getComputedStyle(propertyName: string): string; getDirection(useComputed: boolean): string; getDocumentPosition(refDocument: document): position; - getDtd(): any; + getDtd(): dtdDefinition; getEditor(): editor; getElementsByTag(tagName: string): nodeList; - getFirst(evaluator?: Function): node; + getFirst(evaluator?: (node: node) => boolean): node; getFrameDocument(): document; getHtml(): string; getId(): string; - getLast(evaluator?: Function): node; + getLast(evaluator?: (node: node) => boolean): node; getName(): string; getNameAtt(): string; getOuterHtml(): string; @@ -257,7 +261,7 @@ declare namespace CKEDITOR { hide(): void; is(...name: string[]): boolean; is(name: any): boolean; - isBlockBoundary(customNodeNames: Object): boolean; + isBlockBoundary(customNodeNames: { [tagName: string]: 1 }): boolean; isEditable(textCursor?: boolean): boolean; isEmptyInlineRemoveable(): boolean; isIdentical(otherElement: element): boolean; @@ -273,205 +277,40 @@ declare namespace CKEDITOR { scrollIntoParent(parent: window, alignToTop: boolean, hscroll: boolean): void; scrollIntoView(alignToTop?: boolean): void; setAttribute(name: string, value: string): element; - setAttributes(attributesPairs: Object): element; + setAttributes(attributesPairs: { [key: string]: string }): element; setHtml(html: string): string; setOpacity(opacity: number): void; setSize(type: string, size: number, isBorderBox: boolean): void; - setState(state: number, base?: Object, useAria?: Object): void; + setState(state: number, base?: string, useAria?: boolean): void; setStyle(name: string, value: string): element; - setStyles(stylesPair: Object): element; + setStyles(stylesPair: { [key: string]: string }): element; setText(text: string): string; setValue(value: string): element; show(): void; unselectable(): void; //static method - static clearAllMarkers(database: Object): Object; - static clearMarkers(database: Object, element: Object, removeFromDatabase: Object): void; + static clearAllMarkers(database: any): any; + static clearMarkers(database: any, element: dom.element, removeFromDatabase: boolean): void; static createFromHtml(html: string): element; - static get(element: string): element; - static get(element: any): element; - static setMarker(database: Object, element: Object, name: Object, value: Object): domObject; - + static get(element: string | HTMLElement | element): element; + static setMarker(database: any, element: dom.element, name: string, value: any): dom.element; } - class elementPath { - constructor(startNode: element, root: element); - constructor(startNode: element); - block: element; - blockLimit: element; - root: element; - elements: element[]; + readonly block: element; + readonly blockLimit: element; + readonly elements: element[]; + readonly lastElement: element; + readonly root: element; + + constructor(startNode: element, root?: element); compare(otherPath: elementPath): boolean; - contains(query: string, excludeRoot?: boolean, fromTop?: boolean): element; - contains(query: string[], excludeRoot?: boolean, fromTop?: boolean): element; - contains(query: (element: element) => boolean, excludeRoot?: boolean, fromTop?: boolean): element; - contains(query: Object, excludeRoot?: boolean, fromTop?: boolean): element; - contains(query: element, excludeRoot?: boolean, fromTop?: boolean): element; + contains(query: string | string[] | ((element: element) => boolean) | { [key: string]: any } | element, excludeRoot?: boolean, fromTop?: boolean): element; + direction(): 'ltr' | 'rtl'; isContextFor(tag: string): boolean; - direction(): string; } - - class range { - constructor(root: element); - constructor(root: document); - startContainer: any; - startOffset: number; - endContainer: any; - endOffset: number; - collapsed: boolean; - isDocRoot: boolean; - document: document; - root: element; - clone(): range; - collapse(toStart?: boolean): boolean; - cloneContents(): documentFragment; - deleteContents(mergeThen?: boolean): void; - extractContents(mergeThen?: boolean): documentFragment; - createBookmark(serializable?: boolean): bookmark; - createBookmark2(normalized?: boolean): Object; - createIterator(): iterator; - moveToBookmark(bookmark: Object): void; - getBoundaryNodes(): { startNode: node; endNode: node; }; - getCommonAncestor(includeSelf?: boolean, ignoreTextNode?: boolean): element; - optimize(): void; - optimizeBookmark(): void; - trim(ignoreStart?: boolean, ignoreEnd?: boolean): void; - enlarge(unit: number, excludeBrs?: boolean): void; - shrink(mode: number, selectContents: boolean): void; - insertNode(node: node): void; - moveToPosition(node: node, position: Object): void; - moveToRange(range: range): void; - selectNodeContents(node: node): void; - setStart(startNode: node, startOffset: number): void; - setEnd(endNode: node, endOffset: number): void; - setEndAfter(node: node): void; - setEndBefore(node: node): void; - setStartAfter(node: node): void; - setStartBefore(node: node): void; - setStartAt(node: node, position: number): void; - setEndAt(node: node, position: number): void; - fixBlock(isStart: boolean, blockTag: Object): Object; - select(): selection; - splitBlock(blockTag: Object): Object; - splitElement(toSplit: element): element; - removeEmptyBlocksAtEnd(atEnd: boolean): void; - startPath(): elementPath; - endPath(): elementPath; - checkBoundaryOfElement(element: element, checkType: number): boolean; - checkStartOfBlock(): boolean; - checkEndOfBlock(): boolean; - getPreviousNode(evaluator: Function, guard: Function, boundary: element): element; - getNextNode(evaluator: Function, guard: Function, boundary: element): element; - checkReadOnly(): boolean; - moveToElementEditablePosition(element: element, isMoveToEnd: boolean): boolean; - movetoClosestEditablePosition(element: element, isMoveToEnd: boolean): boolean; - moveToElementEditStart(target: Object): boolean; - moveToElementEditEnd(target: Object): boolean; - getEnclosedNode(): node; - getTouchedStartNode(): node; - getTouchedEndNode(): node; - getNextEditableNode(): Object; - getPreviousEditableNode(): Object; - scrollIntoView(): void; - } - - - interface rangeListIterator { - - } - - class selection { - document: document; - isFake: boolean; - isLocked: boolean; - rev: number; - root: element; - constructor(target: document); - constructor(target: element); - constructor(target: selection); - createBookmarks(serializable: Object): bookmark[]; - createBookmarks2(normalized: Object): Object[]; - fake(element: element): void; - getCommonAncestor(): element; - getNative(): Object; - getRanges(onlyEditables?: boolean): any[]; - getSelectedElement(): element; - getSelectedText(): string; - getStartElement(): element; - getType(): number; - isHidden(): boolean; - lock(): void; - removeAllRanges(): void; - reset(): void; - scrollIntoView(): void; - selectBookmarks(bookmarks: any[]): selection; - selectElement(element: element): void; - selectRanges(ranges: any[]): void; - unlock(restore: Object): void; - } - - - class rangeList { - constructor(ranges: range[]); - constructor(range: range); - createIterator(): rangeListIterator; - createBokmarks(serializable?: boolean): bookmark[]; - createBookmarks2(normalized?: boolean): Object[]; - moveToBookmark(bookmarks: Object[]): void; - } - - - class iterator { - constructor(range: range); - getNextParagraph(blockTag?: string): element; - activeFilter: filter; - enforceRealBlocks: boolean; - enlargeBr: boolean; - filter: filter; - } - - - class node extends domObject { - constructor(domNode: Node); - appendTo(element: element): element; - clone(includeChildren: boolean, cloneId: boolean): node; - hasPrevious(): boolean; - hasNext(): boolean; - insertAfter(node: node): node; - insertBefore(node: node): node; - insertBeforeMe(node: node): node; - getAddress(normalized?: boolean): Object[]; - getDocument(): document; - getIndex(normalized?: boolean): number; - getNextSourceNode(startFromSibling: Object, nodeType: Object, guard: Object): void; - getPreviousSourceNode(startFromSibling: Object, nodeType: Object, guard: Object): void; - getPrevious(evaluator?: Function): node; - getNext(evaluator?: Function): node; - getParent(allowFragmentParent?: boolean): element; - getParents(closerFirst?: boolean): node[]; - getCommonAncestor(node: Object): void; - getPosition(otherNode: Object): void; - getAscendant(reference: string, includeSelf?: boolean): node; - hasAscendant(name: Object, includeSelf: any): boolean; - remove(preserveChildren?: boolean): node; - replace(nodeToReplace: node): void; - trim(): void; - ltrim(): void; - rtrim(): void; - isReadOnly(): boolean; - } - - - class nodeList { - constructor(nativeList: Object); - count(): number; - getItem(index: number): node; - } - - class event { constructor(domEvent: Event); getKey(): number; @@ -481,89 +320,243 @@ declare namespace CKEDITOR { getTarget(): node; getPhase(): number; getPhaseOffset(): position; - on(eventName: string, listenerFunction: (eventInfo: eventInfo) => void, scopeObj?: Object, listenerData?: Object, priority?: number): Object; + on(eventName: string, listenerFunction: (eventInfo: eventInfo) => void, scopeObj?: any, listenerData?: any, priority?: number): { removeListener: () => void }; } + class iterator { + readonly activeFilter: filter; + enforceRealBlocks: boolean; + enlargeBr: boolean; + readonly filter: filter; + forceBrBreak: boolean; + readonly range: range; + constructor(range: range); + getNextParagraph(blockTag?: string): element; + } + + class node extends domObject { + constructor(domNode: Node); + appendTo(element: element): element; + clone(includeChildren: boolean, cloneId: boolean): node; + hasPrevious(): boolean; + hasNext(): boolean; + insertAfter(node: node): node; + insertBefore(node: node): node; + insertBeforeMe(node: node): node; + getAddress(normalized?: boolean): number[]; + getAscendant(reference: string, includeSelf?: boolean): node; + getCommonAncestor(node: node): void; + getDocument(): document; + getIndex(normalized?: boolean): number; + getNext(evaluator?: (node: node) => boolean): node; + getNextSourceNode(startFromSibling: boolean, nodeType: number, guard: node | ((node: node) => boolean)): void; + getParent(allowFragmentParent?: boolean): element; + getParents(closerFirst?: boolean): node[]; + getPosition(otherNode: node): void; + getPrevious(evaluator?: (node: node) => boolean): node; + getPreviousSourceNode(startFromSibling: boolean, nodeType: number, guard: node | ((node: node) => boolean)): void; + hasAscendant(name: string, includeSelf: boolean): boolean; + remove(preserveChildren?: boolean): node; + replace(nodeToReplace: node): void; + trim(): void; + ltrim(): void; + rtrim(): void; + isReadOnly(): boolean; + } + + class nodeList { + constructor(nativeList: NodeList); + count(): number; + getItem(index: number): node; + toArray(): node[]; + } + + class range { + readonly collapsed: boolean; + readonly document: document; + readonly endContainer: element | text; + readonly endOffset: number; + readonly root: element; + readonly startContainer: element | text; + readonly startOffset: number; + + constructor(root: element | document); + checkBoundaryOfElement(element: element, checkType: number): boolean; + checkEndOfBlock(): boolean; + checkReadOnly(): boolean; + checkStartOfBlock(): boolean; + clone(cloneId?: boolean): range; + cloneContents(): documentFragment; + collapse(toStart?: boolean): boolean; + createBookmark(serializable?: boolean): bookmark; + createBookmark2(normalized?: boolean): bookmark2; + createIterator(): iterator; + deleteContents(mergeThen?: boolean): void; + endPath(): elementPath; + enlarge(unit: number, excludeBrs?: boolean): void; + extractContents(mergeThen?: boolean, cloneId?: boolean): documentFragment; + fixBlock(isStart: boolean, blockTag: string): element; + getBoundaryNodes(): { startNode: node; endNode: node; }; + getCommonAncestor(includeSelf?: boolean, ignoreTextNode?: boolean): element; + getEnclosedNode(): node; + getNextEditableNode(): element | text; + getNextNode(evaluator?: (element: dom.element) => boolean, guard?: (element: dom.element) => boolean, boundary?: element): element; + getPreviousEditableNode(): element | text; + getPreviousNode(evaluator?: (element: dom.element) => boolean, guard?: (element: dom.element) => boolean, boundary?: element): element; + getTouchedEndNode(): node; + getTouchedStartNode(): node; + insertNode(node: node): void; + moveToBookmark(bookmark: bookmark | bookmark2): void; + moveToClosestEditablePosition(element?: element, isMoveForward?: boolean): boolean; + moveToElementEditEnd(target: element): boolean; + moveToElementEditStart(target: element): boolean; + moveToElementEditablePosition(element: element, isMoveToEnd: boolean): boolean; + moveToPosition(node: node, position: number): void; + moveToRange(range: range): void; + optimize(): void; + optimizeBookmark(): void; + removeEmptyBlocksAtEnd(atEnd: boolean): void; + scrollIntoView(): void; + select(): selection; + selectNodeContents(node: node): void; + setEnd(endNode: node, endOffset: number): void; + setEndAfter(node: node): void; + setEndAt(node: node, position: number): void; + setEndBefore(node: node): void; + setStart(startNode: node, startOffset: number): void; + setStartAfter(node: node): void; + setStartAt(node: node, position: number): void; + setStartBefore(node: node): void; + shrink(mode: number, selectContents?: boolean, options?: boolean | shrinkOptions): void; + splitBlock(cloneId?: boolean): void; + splitElement(toSplit: element, cloneId?: boolean): element; + startPath(): elementPath; + trim(ignoreStart?: boolean, ignoreEnd?: boolean): void; + + static mergeRanges(ranges: range[]): range[]; + } + + interface shrinkOptions { + shrinkOnBlockBoundary?: boolean, + skipBogus?: boolean + } + + class rangeList { + constructor(ranges?: range | range[]); + createBokmarks(serializable?: boolean): bookmark[]; + createBookmarks2(normalized?: boolean): bookmark2[]; + createIterator(): rangeListIterator; + moveToBookmarks(bookmarks: bookmark[]): void; + } + + + interface rangeListIterator { + getNextRange(mergeConsequent?: boolean): range; + } + + // see https://docs.com/ckeditor4/latest/api/CKEDITOR_dom_selection.html + class selection { + readonly FILLING_CHAR_SEQUENCE: string; + readonly document: document; + readonly isFake: boolean; + readonly isLocked: boolean; + readonly rev: number; + readonly root: element; + + constructor(target: document | element | selection); + createBookmarks(serializable: any): bookmark[]; + createBookmarks2(normalized: any): bookmark2[]; + fake(element: element, ariaLabel?: boolean): void; + getCommonAncestor(): element; + getNative(): Selection; + getRanges(onlyEditables?: boolean): range[]; + getSelectedElement(): element; + getSelectedText(): string; + getStartElement(): element; + getType(): number; + isCollapsed(): boolean; + isHidden(): boolean; + isInTable(allowPartialSelection?: boolean): boolean; + lock(): void; + removeAllRanges(): void; + reset(): void; + scrollIntoView(): void; + selectBookmarks(bookmarks: (bookmark | bookmark2)[]): selection; + selectElement(element: element): void; + selectRanges(ranges: range[]): void; + unlock(restore: boolean): void; + } + + class text extends node { + readonly $: Text; + readonly type: number; + + constructor(text: Text | string, ownerDocument?: document); + getLength(): number; + getText(): string; + setText(text: string): void; + split(offset: number): text; + substring(indexA: number, indexB?: number): void; + } + + class walker { + evaluator: (node: node) => boolean; + guard: (node: node) => boolean; + + static validEmptyBlockContainers: { [key: string]: any }; + + constructor(range: range); + checkBackward(): boolean; + checkForward(): boolean; + end(): void; + lastBackward(): node; + lastForward(): node; + next(): node; + previous(): node; + reset(): void; + + static blockBoundary(customNodeNames: any): (node: node) => boolean; + static bogus(isReject?: boolean): (node: node) => boolean; + static bookmark(contentOnly?: boolean, isReject?: boolean): (node: node) => boolean; + static editable(isReject?: boolean): (node: node) => boolean; + static empty(isReject?: boolean): (node: node) => boolean; + static ignored(isReject?: boolean): (node: node) => boolean; + static invisible(isReject?: boolean): (node: node) => boolean; + static listItemBoundary(): (node: node) => boolean; + static nodeType(type: number, isReject?: boolean): (node: node) => boolean; + static temp(isReject?: boolean): (node: node) => boolean; + static whitespaces(isReject?: boolean): (node: node) => boolean; + } interface position { x: number; y: number; } - interface widthAndHeight { width: number; height: number; } - - class text extends node { - constructor(text: Text, ownerDocument?: document); - constructor(text: string, ownerDocument?: document); - type: number; - getLength(): number; - getText(): string; - setText(text: string): void; - split(offset: number): text; - substring(indexA: number, indexB: number): void; - } - - class window extends domObject { - constructor(domWindow: Object); + constructor(domWindow: Window); focus(): void; getViewPaneSize(): widthAndHeight; getScrollPosition(): position; getFrame(): element; } - - - class walker { - constructor(range: range); - end(): void; - next(): node; - previous(): node; - checkForward(): boolean; - checkBackward(): boolean; - lastForward(): node; - lastBackward(): node; - reset(): void; - //static methods till the end - blockBoundary(customNodeNames: Object): Function; - listItemBoundary(): Function; - bookmark(contentOnly?: boolean, isReject?: boolean): Function; - whitespaces(isReject?: boolean): Function; - invisible(isReject?: boolean): Function; - nodeType(type: number, isReject?: boolean): Function; - bogus(isReject?: boolean): Function; - temp(isReject?: boolean): Function; - ignored(isReject?: boolean): Function; - editable(isReject?: boolean): Function; - } - } namespace ajax { - - // Methods - function load(url: string, callback?: Function): string; - function loadXml(url: string, callback?: Function): xml; - + function load(url: string, callback?: (data: any) => void): string; + function loadXml(url: string, callback?: (data: any) => void): xml; + function post(url: string, data: any, contentType?: string, callback?: (data: any) => void): void; } - interface xml { - - } - - - class command extends event { - - // Properties - contextSensitive: boolean; - editorFocus: boolean; - modes: any; + class command extends event implements commandDefinition { + fakeKeystroke: number; previousState: number; state: number; uiItems: any[]; @@ -573,53 +566,31 @@ declare namespace CKEDITOR { checkAllowed(noCache: boolean): boolean; disable(): void; enable(): void; - exec(data?: Object): boolean; + exec(data?: { [key: string]: any }): boolean; refresh(editor: editor, path: dom.elementPath): void; setState(newState: number): boolean; toggleState(): void; } - - class focusManager { - // Properties - currentActive: dom.domObject; - hasFocus: boolean; - - // Methods - constructor(editor: editor); - focus(currentActive?: dom.element): void; - lock(): void; - unlock(): void; - blur(noDelay?: boolean): void; - add(element: dom.element, isCapture: boolean): void; - remove(element: dom.element): void; + interface commandDefinition { + async?: boolean; + canUndo?: boolean; + context?: boolean; + contextSensitive?: boolean; + editorFocus?: boolean; + fakeKeystroke?: number; + modes?: { [key: string]: any }; + startDisabled?: boolean; + readOnly?: boolean; + exec(editor: editor, data?: any): boolean; + refresh?(editor: editor, path: dom.elementPath): void; } - interface keystrokeHandler { - - } - - interface toolbarGroups { - name?: string; - groups?: string[]; - } - - namespace config { - interface styleObject { - name?: string; - element: string; - attributes?: Object; - styles?: Object; - overrides?: Object; - } - } - - // Currently very incomplete. See here for all options that should be included: - // http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fileTools_defaultFileName + // https://docs.com/ckeditor4/latest/api/CKEDITOR_config.html interface config { - allowedContent?: boolean | string | Object | CKEDITOR.style; - autoEmbed_widget?: string | Function; + allowedContent?: boolean | filter.allowedContentRules; + autoEmbed_widget?: string | ((url: string) => string); autoGrow_bottomSpace?: number; autoGrow_maxHeight?: number; autoGrow_minHeight?: number; @@ -634,10 +605,13 @@ declare namespace CKEDITOR { bodyId?: string; browserContextMenuOnCtrl?: boolean; - clipboard_defaultContentType?: string; // html | text + clipboard_defaultContentType?: 'html' | 'text'; clipboard_notificationDuration?: number; + cloudServices_tokenUrl?: string; + cloudServices_uploadUrl?: string; + codeSnippetGeshi_url?: string; codeSnippet_codeClass?: string; - codeSnippet_languages?: Object; + codeSnippet_languages?: { [key: string]: any }; coceSnippet_theme?: string; colorButton_backStyle?: config.styleObject; colorButton_colors?: string; @@ -649,6 +623,11 @@ declare namespace CKEDITOR { contentsCss?: string | string[]; contentsLangDirection?: string; contentsLanguage?: string; + copyFormatting_allowRules?: string; + copyFormatting_allowedContexts?: boolean | string[]; + copyFormatting_keystrokeCopy?: number; + copyFormatting_keystrokePaste?: number; + copyFormatting_outerCursor?: boolean; coreStyles_bold?: config.styleObject; coreStyles_italic?: config.styleObject; coreStyles_strike?: config.styleObject; @@ -660,7 +639,7 @@ declare namespace CKEDITOR { dataIndentationChars?: string; defaultLanguage?: string; devtools_styles?: string; - devtools_textCallback?: Function; + devtools_textCallback?: (editor: editor, dialog: dialog, element: dom.element, tabName: string) => string; dialog_backgroundCoverColor?: string; dialog_backgroundCoverOpacity?: number; dialog_buttonsOrder?: string; @@ -670,11 +649,15 @@ declare namespace CKEDITOR { disableNativeSpellChecker?: boolean; disableNativeTableHandles?: boolean; disableNativeObjectResizing?: boolean; - disableNativeReadonlySTyling?: boolean; - disallowedContent?: string | Object; // Documentation calls it CKEDITOR.filter.disallowedContentRules, but it is just a non-governed object or string. + disableNativeReadonlyStyling?: boolean; + disallowedContent?: filter.disallowedContentRules; div_wrapTable?: boolean; docType?: string; + easyimage_class?: string; + easyimage_defaultStyle?: string; + easyimage_styles?: { [key: string]: any }; + easyimage_toolbar?: string[] | string; emailProtection?: string; embed_provider?: string; enableTabKeyTools?: boolean; @@ -684,21 +667,23 @@ declare namespace CKEDITOR { entities_greek?: boolean; entities_latin?: boolean; entities_processNumerical?: boolean | string; - extraAllowedContent?: string | Object; + extraAllowedContent?: filter.allowedContentRules; extraPlugins?: string; fileTools_defaultFileName?: string; + fileTools_requestHeaders?: { [key: string]: any }; filebrowserBrowseUrl?: string; filebrowserFlashBrowseUrl?: string; filebrowserFlashUploadUrl?: string; filebrowserImageBrowseLinkUrl?: string; filebrowserImageBrowseUrl?: string; filebrowserImageUploadUrl?: string; + filebrowserUploadMethod?: string; filebrowserUploadUrl?: string; filebrowserWindowFeatures?: string; filebrowserWindowHeight?: number | string; filebrowserWindowWidth?: number | string; - fillEmptyBlocks?: boolean | Function; + fillEmptyBlocks?: boolean | ((element: htmlParser.element) => boolean); find_highlight?: config.styleObject; flashAddEmbedTag?: boolean; flashConvertOnEdit?: boolean; @@ -737,6 +722,7 @@ declare namespace CKEDITOR { ignoreEmptyParagraph?: boolean; image2_alignClasses?: string[]; + image2_altRequired?: boolean; image2_captionedClass?: string; image2_disableResizer?: boolean; image2_prefillDimensions?: boolean; @@ -751,7 +737,7 @@ declare namespace CKEDITOR { jqueryOverrideVal?: boolean; justifyClasses?: string[]; - keystrokes?: any[]; // Number, string pair really... silly structure... they should fix this. + keystrokes?: [number, string][]; language?: string; language_list?: string[]; @@ -766,9 +752,10 @@ declare namespace CKEDITOR { magicline_keystrokePrevious?: number; magicline_tabuList?: string[]; magicline_triggerOffset?: number; + mathJaxClass?: string; mathJaxLib?: string; menu_groups?: string; - menu_subMenuDelay?: string; + menu_subMenuDelay?: number; newpage_html?: string; notification_duration?: number; @@ -781,6 +768,8 @@ declare namespace CKEDITOR { pasteFromWordPromptCleanup?: boolean; pasteFromWordRemoveFontStyles?: boolean; pasteFromWorkRemoveStyles?: boolean; + pasteFromWord_heuristicsEdgeList?: boolean; + pasteFromWord_inlineImages?: boolean; plugins?: string; protectedSource?: RegExp[]; @@ -815,7 +804,7 @@ declare namespace CKEDITOR { scayt_minWordLength?: number; scayt_moreSuggestions?: string; scayt_multiLanguageMode?: boolean; - scayt_multiLanguageStyles?: Object; + scayt_multiLanguageStyles?: { [key: string]: any }; scayt_sLang?: string; scayt_serviceHost?: string; scayt_servicePath?: string; @@ -825,7 +814,7 @@ declare namespace CKEDITOR { scayt_uiTabs?: string; scayt_userDictionaryName?: string; - sharedSpaces?: CKEDITOR.sharedSpace; + sharedSpaces?: sharedSpace; shiftEnterMode?: number; skin?: string; smiley_columns?: number; @@ -833,8 +822,8 @@ declare namespace CKEDITOR { smiley_images?: string[]; smiley_path?: string; sourceAreaTabSize?: number; - specialChars?: any[]; // Seems to be an array of a string, or a two-element string-array - startupFocus?: boolean; + specialChars?: (string | [string, string])[]; + startupFocus?: string | boolean; startupMode?: string; startupOutlineBlocks?: boolean; startupShowBorders?: boolean; @@ -845,7 +834,7 @@ declare namespace CKEDITOR { tabIndex?: number; tabSpaces?: number; templates?: string; - templates_files?: Object; + templates_files?: { [key: string]: any }; templates_replaceContent?: boolean; title?: string | boolean; toolbar?: string | (string | string[] | { name: string, items?: string[], groups?: string[] })[] | null; @@ -865,659 +854,1641 @@ declare namespace CKEDITOR { wsc_customDictionaryIds?: string; wsc_customLoaderScript?: string; wsc_customerId?: string; + wsc_height?: string; wsc_lang?: string; + wsc_left?: string; + wsc_top?: string; wsc_userDictionaryName?: string; + wsc_width?: string; } - - interface feature { - + interface dataProcessor { + toDataFormat(html: string, fixForBody: string): void; + toHtml(data: string, fixForBody?: string): void; } + class dialog { + readonly state: number; - interface sharedSpace { - top?: string | HTMLElement; - bottom?: string | HTMLElement; + constructor(editor: editor, dialogName: string); + + addFocusable(element: dom.element, index?: number): void; + addPage(contents: { [key: string]: any }): void; + click(id: string): any; + commitContent(): void; + disableButton(id: string): void; + enableButton(id: string): void; + foreach(fn: () => void): dialog; + getButton(id: string): ui.dialog.button; + getContentElement(pageId: string, elementId: string): ui.dialog.uiElement; + getElement(): dom.element; + getName(): string; + getPageCount(): number; + getParentEditor(): editor; + getPosition(): { [key: string]: any }; + getSelectedElement(): dom.element; + getSize(): { [key: string]: any }; + getValueOf(pageId: string, elementId: string): any; + hide(): void; + hidePage(id: string): void; + layout(): void; + move(x: number, y: number, save: boolean): void; + reset(): dialog; + resize(width: number, height: number): void; + selectPage(id: string): void; + setState(state: number): void; + setValueOf(pageId: string, elementId: string, value: any): void; + setupContent(): void; + show(): void; + showPage(id: string): void; + updateStyle(): void; + + static add(name: string, dialogDefinition: string | ((editor: editor) => dialog.IDialogDefinition)): void; + static addIframe(name: string, title: string, minWidth: number, minHeight: number, onContentLoad?: () => void, userDefinition?: { [key: string]: any }): void; + static addUIElement(typeName: string, builder: () => void): void; + static cancelButton(): void; + static exists(name: string | number): void; // NOTE: documentation says object, but it's an array accessor, so really a string or number will work + static getCurrent(): dialog; + static isTabEnabled(editor: editor, dialogName: string, tabName: string): boolean; + static okButton(): void; } - module skin { - var icons: { [name: string]: { path: string } }; - function addIcon(name: string, path: string, offset?: number, bgsize?: string): void; + namespace dialog { + + namespace definition { + + interface button extends uiElement { + disabled?: boolean; + } + + interface checkbox extends uiElement { + default?: string; + validate?: () => boolean; + } + + interface content { + accessKey?: string; + elements?: dialog.definition.uiElement[]; + id?: string; + label?: string; + title?: string; + } + + interface file extends labeledElement { + action?: string; + size?: string; + validate?: () => boolean; + } + + interface fileButton extends uiElement { + filebrowser?: string; + for?: string; + validate?: () => boolean; + } + + interface hbox extends uiElement { + children?: ui.dialog.uiElement[]; + height?: number; + padding?: number; + validate?: () => boolean; + widths?: number[]; + } + + interface html extends uiElement { + html?: string; + } + + interface labeledElement extends uiElement { + controlStyle?: string; + inputStyle?: string; + labelLayout?: string; + labelStyle?: string; + widths?: number[]; + } + + interface radio extends labeledElement { + default?: string; + items?: string[] | (string[])[]; + validate?: () => boolean; + } + + interface select extends labeledElement { + default?: string; + items?: string[] | (string[])[]; + multiple?: boolean; + size?: number; + validate?: () => boolean; + } + + interface textarea extends labeledElement { + bidi?: boolean; + cols?: number; + default?: string; + rows?: number; + validate?: () => boolean; + } + + interface textInput extends labeledElement { + bidi?: boolean; + default?: string; + maxLength?: number; + size?: number; + validate?: () => boolean; + } + + interface uiElement { + align?: string; + className?: string; + commit?: (widget: plugins.widget) => void; + id?: string; + label?: string; + onHide?: (elem: ui.dialog.uiElement) => void; + onLoad?: (elem: ui.dialog.uiElement) => void; + onShow?: (elem: ui.dialog.uiElement) => void; + requiredContent?: string | { [key: string]: any } | style; + setup?: (widget: plugins.widget) => void; + style?: string; + title?: string; + type?: string; + } + + interface vbox extends uiElement { + children?: ui.dialog.uiElement[]; + expand?: boolean; + heights?: number[]; + padding?: number; + styles?: string; + width?: number[]; + } + } + + interface IDialogDefinition { + buttons?: dialog.definition.button[]; + contents?: dialog.definition.content[]; + height?: number; + minHeight?: number; + minWidth?: number; + onCancel?: () => void; + onLoad?: () => void; + onOk?: () => void; + onShow?: () => void; + onHide?: () => void; + resizable?: number; + title?: string; + width?: number; + } } - class style { - constructor(something: { element: string, attributes: { [att: string]: string } }); - applyToRange(range: Range, editor: editor): void; + class dialogCommand { + value: any; + + constructor(dialogName: string, ext?: { tabId?: string }); } + interface dtdDefinition { + [outerTagName: string]: { [innerTagName: string]: 1 }; + $block: { [tagName: string]: 1 }; + $blockLimit: { [tagName: string]: 1 }; + $cdata: { [tagName: string]: 1 }; + $editable: { [tagName: string]: 1 }; + $empty: { [tagName: string]: 1 }; + $inline: { [tagName: string]: 1 }; + $intermediate: { [tagName: string]: 1 }; + $list: { [tagName: string]: 1 }; + $listItem: { [tagName: string]: 1 }; + $nonBodyContent: { [tagName: string]: 1 }; + $nonEditable: { [tagName: string]: 1 }; + $object: { [tagName: string]: 1 }; + $removeEmpty: { [tagName: string]: 1 }; + $tabIndex: { [tagName: string]: 1 }; + $tableContent: { [tagName: string]: 1 }; + $transparent: { [tagName: string]: 1 }; + } + + var dtd: dtdDefinition; + class editable extends dom.element { - constructor(editor: editor, element: HTMLElement | dom.element); hasFocus: boolean; - attachListener(obj: event | editable, eventName: string, listenerFunction: (ei: eventInfo) => void, - scopeobj?: {}, listenerData?: any, priority?: number): listenerRegistration; - } + readonly status: string; - - class menu { - constructor(); - add(item: any): void; - addListener(listenerFn: (startElement: dom.element, selection: dom.selection, path: dom.elementPath) => any): void; - hide(returnFocus?: boolean): void; - removeAll(): void; - show(offsetParent: dom.element, corner?: number, offsetX?: number, offsetY?: number): void; - } - - - namespace plugins { - - class contextMenu extends menu { - constructor(editor: editor); - addTarget(element: dom.element, nativeContextMenuOnCtrl?: boolean): void; - open(offsetParent: dom.element, corner?: number, offsetX?: number, offsetY?: number): void; - } - - - namespace link { - var emptyAnchorFix: boolean; - var fakeAnchor: boolean; - var synAnchorSelector: boolean; - function getEditorAnchors(editor: editor): dom.element[]; - function getSelectedLink(editor: editor): dom.elementPath; - function tryRestoreFakeAnchor(editor: editor, element: dom.element): dom.element; - } - - - namespace widget { - - namespace nestedEditable { - interface definition { - allowedContent?: any; - pathName?: string; - selector?: string; - } - } - - class nestedEditable extends CKEDITOR.dom.element { - editor: CKEDITOR.editor; - enterMode: number; - filter: CKEDITOR.filter; - shiftEnterMode: number; - - constructor(editor: CKEDITOR.editor, element: CKEDITOR.dom.element, config: { filter?: CKEDITOR.filter }); - getData(): string; - setData(data: string): void; - } - - - interface definition { - allowedContent?: any; - button?: string; - contentForms?: Object; - contentTransformations?: Object; - data?: Object | Function; - defaults?: Object; - dialog?: string; - downcast?: string | Function; - downcasts?: Object; - draggable?: boolean; - edit?: Function; - editables?: Object; - init?: Function; - inline?: boolean; - insert?: Function; - mask?: boolean; - name?: string; - parts?: Object; - pathName?: string; - requiredContent?: string | CKEDITOR.style; - styleToAllowedContentRules?: Function; - styleableElements?: string; - template?: string | CKEDITOR.template; - upcast?: string | Function; - upcastPriority?: number; - upcasts?: Object; - - toFeature?(): CKEDITOR.feature; - } - - class repository { - add(name: string, widgetDef: CKEDITOR.plugins.widget.definition): void; - addUpcastCallback(callback: Function): void; - capture(): void; - checkSelection(): void; - checkWidgets(options?: { initOnlyNew?: boolean; focusInited?: boolean }): void; - define(name: string, meta?: { errorProof?: boolean }): void; - del(widget: CKEDITOR.plugins.widget): void; - destroy(widget: CKEDITOR.plugins.widget, offline?: boolean): void; - destroyAll(offline?: boolean): void; - finalizeCreation(container: any): void; - focused: widget; - fire(eventName: string, data: Object, editor: editor): any; // should be boolean | Object - getByElement(element: any, checkWrapperOnly: boolean): CKEDITOR.plugins.widget; - hasListeners(eventName: string): boolean; - initOn(element: dom.element, widgetDef?: CKEDITOR.plugins.widget.definition, startupData?: Object): CKEDITOR.plugins.widget; - initOn(element: dom.element, widgetDef?: string, startupData?: Object): CKEDITOR.plugins.widget; - initOnAll(container?: dom.element): CKEDITOR.plugins.widget[]; - instances: { [id: string]: widget }; - on(eventName: string, listenerFunction: Function, scopeObj?: Object, listenerData?: Object, priority?: number): any; - once(): void; - parseElementClasses(classes: string): any; - removeAllListeners(eventName: string, listenerFunction: Function): void; - wrapElement(element: any, widgetName?: string): any; - } - } - - class widget implements CKEDITOR.plugins.widget.definition { - allowedContent: any; - button: string; - contentForms: any; - contentTransformations: any; - data: any; - dataReady: boolean; - defaults: any; - definition: CKEDITOR.plugins.widget.definition; - dialog: string; - downcast: string | Function; - downcasts: any; - draggable: boolean; - editables: any; - editor: CKEDITOR.editor; - element: CKEDITOR.dom.element; - focusedEditable: CKEDITOR.plugins.widget.nestedEditable - id: number; - init: Function; - inited: boolean; - inline: boolean; - insert: Function; - mask: boolean; - name: string; - parts: any; - pathName: string; - ready: boolean; - repository: CKEDITOR.plugins.widget.repository; - requiredContent: string | CKEDITOR.style; - styleToAllowedContentRules: Function; - styleableElements: string; - template: CKEDITOR.template; - upcast: string | Function; - upcastPriority: number; - upcasts: any; - wrapper: CKEDITOR.dom.element; - - constructor(widgetsRepo: CKEDITOR.plugins.widget.repository, id: number, element: CKEDITOR.dom.element, widgetDef: CKEDITOR.plugins.widget.definition, starupData?: Object); - - addClass(className: string): void; - applyStyle(style: CKEDITOR.style): void; - capture(): void; - checkStyleActive(style: CKEDITOR.style): boolean; - define(name: string, meta: { errorProof?: boolean }): void; - destroy(offline?: boolean): void; - destroyEditable(editableName: string, offline?: boolean): void; - edit(): boolean; - fire(eventName: string, data?: Object, editor?: CKEDITOR.editor): any; - fireOnce(eventName: string, data?: Object, editor?: CKEDITOR.editor): any; - focus(): void; - getClasses(): any; - hasClass(className: string, Whether: boolean): void; - hasListeners(eventName: string): boolean; - initEditable(editableName: string, definition: CKEDITOR.plugins.widget.nestedEditable.definition): boolean; - isInited(): boolean; - isReady(): boolean; - on(eventName: string, listenerFunction: Function, - scopeObj?: Object, listenerData?: Object, priority?: number): any; - once(): void; - removeAllListeners(): void; - removeClass(className: string): void; - removeListener(eventName: string, listenerFunction: Function): void; - removeStyle(style: CKEDITOR.style): void; - setData(keyOrData: string | Object, value: Object): CKEDITOR.plugins.widget; - setFocused(selected: boolean): CKEDITOR.plugins.widget; - setSelected(selected: boolean): CKEDITOR.plugins.widget; - toFeature(): CKEDITOR.feature; - updateDragHandlerPosition(): void; - } - - interface IPluginDefinition { - hidpi?: boolean; - lang?: string | string[]; - requires?: string | string[]; - afterInit?(editor: editor): any; - beforeInit?(editor: editor): any; - init?(editor: editor): void; - onLoad?(): any; - icons?: string; - } - - function add(name: string, definition: IPluginDefinition): void; - function add(name: string): void; - function addExternal(name: string, path: string, fileName?: string): void; - function get(name: string): any; - function getFilePath(name: string): string; - function getPath(name: string): string; - function load(name: string, callback: Function, scope?: Object): void; - function setLang(pluginName: string, languageCode: string, languageEntries: any): void; - var registered: {[key: string]: IPluginDefinition}; - } - - interface IMenuItemDefinition { - label:string, - command:string, - icon: string - group:string, - order:number + constructor(editor: editor, element: HTMLElement | dom.element); + attachClass(className: string): void; + attachListener(obj: event | editable, eventName: string, listenerFunction: (ei: eventInfo) => void, scopeobj?: {}, listenerData?: any, priority?: number): listenerRegistration; + changeAttr(attr: string, val: string): void; + detach(): void; + insertElement(element: dom.element, range?: dom.range): void; + insertHtml(data: string, mode?: string, range?: dom.range): void; + insertText(text: dom.text): void; + isInline(): boolean; + setReadOnly(isReadOnly: boolean): void; } class editor extends event { - activeEnterMode: number; - activeFilter: filter; - activeShiftEnterMode: number; - blockless: boolean; - config: config; - container: dom.element; - contextMenu: plugins.contextMenu; + readonly activeEnterMode: number; + readonly activeFilter: filter; + readonly activeShiftEnterMode: number; + readonly blockless: boolean; + readonly config: config; + readonly container: dom.element; + readonly contextMenu: plugins.contextMenu; + copyFormatting: plugins.copyformatting.state; dataProcessor: dataProcessor; - document: dom.document; - element: dom.element; - elementMode: number; - enterMode: number; - filter: filter; - focusManager: focusManager; - id: string; - keystrokeHandler: keystrokeHandler; - lang: any; - langCode: string; - mode: string; - name: string; - plugins: any; - readOnly: boolean; - shiftEnterMode: number; - status: string; - tabIndex: number; - templates: any; - title: any; - toolbar: any; - ui: ui; - widgets: plugins.widget.repository; - window: dom.window; - constructor(instanceConfig?: Object, element?: dom.element, mode?: number); + readonly document: dom.document; + readonly element: dom.element; + readonly elementMode: number; + readonly enterMode: number; + readonly filter: filter; + readonly focusManager: focusManager; + readonly id: string; + readonly keystrokeHandler: keystrokeHandler; + readonly lang: any; + readonly langCode: string; + readonly mode: string; + readonly name: string; + readonly pasteFilter: filter; + readonly plugins: any; + readonly readOnly: boolean; + readonly shiftEnterMode: number; + readonly status: string; + readonly tabIndex: number; + readonly templates: any; + readonly title: any; + readonly toolbar: any; + readonly ui: ui; + readonly widgets: plugins.widget.repository; + readonly window: dom.window; + + constructor(instanceConfig?: config, element?: dom.element, mode?: number); addCommand(commandName: string, commandDefinition: commandDefinition): void; + addContentsCss(cssPath: string): void; addFeature(feature: feature): boolean; addMenuGroup(name: string, order?: number): void; addMenuItem(name: string, definition?: IMenuItemDefinition): void; - addMenuItems(definitions: {[id:string]:IMenuItemDefinition}): void; + addMenuItems(definitions: { [id: string]: IMenuItemDefinition }): void; addMode(mode: string, exec: () => void): void; - addRemoveFormatFilter(func: Function): void; + addRemoveFormatFilter(func: (element: dom.element) => boolean): void; applyStyle(style: style): void; - attachStyleStateChange(style: style, callback: Function): void; + attachStyleStateChange(style: style, callback: (state: number) => void): void; checkDirty(): boolean; - commands:any; - createFakeElement(realElement: Object, className: Object, realElementType: Object, isResizable: Object): void; - createFakeParserElement(realElement: Object, className: Object, realElementType: Object, isResizable: Object): void; + createFakeElement(realElement: dom.element, className: string, realElementType: string, isResizable: boolean): void; + createFakeParserElement(realElement: dom.element, className: string, realElementType: string, isResizable: boolean): void; createRange(): dom.range; destroy(noUpdate?: boolean): void; - editable(): editable | null; - editable(elementOrEditable: dom.element): void; - editable(elementOrEditable: editable): void; + editable(elementOrEditable?: dom.element | editable): editable; elementPath(startNode?: dom.node): dom.elementPath; - execCommand(commandName: string, data?: Object): boolean; + execCommand(commandName: string, data?: any): boolean; + extractSelectedHtml(toString?: boolean, removeEmptyBlock?: boolean): dom.documentFragment | string | void; focus(): void; forceNextSelectionCheck(): void; - getClipboardData(options: Object, callback: Function): void; - getColorFromDialog(callback: Function, scope?: Object): void; + getClipboardData(callbackOrOptions: { title: string } | ((data: any) => void), callback: (data: any) => void): void; + getColorFromDialog(callback: (color: string) => void, scope?: { [key: string]: any }): void; getCommand(commandName: string): command; - getData(noEvents?: Object): string; - getMenuItem(name: string): Object; + getCommandKeystroke(command: command | string): number | null; + getData(internal?: boolean): string; + getMenuItem(name: string): IMenuItemDefinition; getResizable(forContents: boolean): dom.element; getSelectedHtml(toString?: false): dom.documentFragment; getSelectedHtml(toString: true): string; - getSelectedHtml(toString?: boolean): CKEDITOR.dom.documentFragment | string; + getSelectedHtml(toString?: boolean): dom.documentFragment | string; getSelection(forceRealSelection?: boolean): dom.selection; getSnapshot(): string; - getStylesSet(callback: Function): void; + getStylesSet(callback: (stylesDefinitions: style.definition[]) => void): void; getUiColor(): string; insertElement(element: dom.element): void; - insertHtml(html: string, mode?: string): void; + insertHtml(html: string, mode?: string, range?: dom.range): void; insertText(text: string): void; - loadSnapshot(snapshot: Object): void; + loadSnapshot(snapshot: any): void; lockSelection(sel?: dom.selection): boolean; - openDialog(dialogName: string, callback: Function): dialog; - popup(url: string, width?: number, height?: number, options?: string): void; - popup(url: string, width?: string, height?: number, options?: string): void; - popup(url: string, width?: number, height?: string, options?: string): void; - popup(url: string, width?: string, height?: string, options?: string): void; + openDialog(dialogName: string, callback: () => void): dialog; + popup(url: string, width?: number | string, height?: number | string, options?: string): void; removeMenuItem(name: string): void; removeStyle(style: style): void; resetDirty(): void; resetUndo(): void; - resize(width: number, height: number, isContentHeight?: boolean, resizeInner?: boolean): void; - resize(width: string, height: number, isContentHeight?: boolean, resizeInner?: boolean): void; - resize(width: number, height: string, isContentHeight?: boolean, resizeInner?: boolean): void; - resize(width: string, height: string, isContentHeight?: boolean, resizeInner?: boolean): void; - restoreRealElement(fakeElement: Object): dom.element; + resize(width: number | string, height: number | string, isContentHeight?: boolean, resizeInner?: boolean): void; + restoreRealElement(fakeElement: dom.element): dom.element; selectionChange(checkNow?: boolean): void; setActiveEnterMode(enterMode: number, shiftEnterMode: number): void; setActiveFilter(filter: filter): void; - setData(data: string, options?: { internal?: boolean; callback?: Function; noSnapshot?: boolean; }): void; - setKeystroke(keystroke: number, behavior?: string): void; - setKeystroke(keystroke: any[], behavior?: string): void; - setKeystroke(keystroke: number, behavior?: boolean): void; - setKeystroke(keystroke: any[], behavior?: boolean): void; - setMode(newMode: string, callback: Function): void; + setData(data: string, options?: { internal?: boolean; callback?: () => void; noSnapshot?: boolean; }): void; + setKeystroke(keystroke: number, behavior: string | boolean): void; + setKeystroke(keystroke: [number, string | boolean][]): void; + setMode(newMode: string, callback: () => void): void; setReadOnly(isReadOnly?: boolean): void; setUiColor(color: string): void; + showNotification(message: string, type: plugins.notification.type, progressOrDuration: number): plugins.notification; unlockSelection(restore?: boolean): void; updateElement(): void; } namespace editor { interface eventObject { - activeEnterModeChange?: (evt: CKEDITOR.eventInfo) => void; - activeFilterChange?: (evt: CKEDITOR.eventInfo) => void; - afterCommandExec?: (evt: CKEDITOR.eventInfo) => void; - afterInsertHtml?: (evt: CKEDITOR.eventInfo) => void; - afterPaste?: (evt: CKEDITOR.eventInfo) => void; - afterPasteFromWord?: (evt: CKEDITOR.eventInfo) => void; - afterSetData?: (evt: CKEDITOR.eventInfo) => void; - afterUndoImage?: (evt: CKEDITOR.eventInfo) => void; - ariaEditorHelpLabel?: (evt: CKEDITOR.eventInfo) => void; - ariaWidget?: (evt: CKEDITOR.eventInfo) => void; - autogrow?: (evt: CKEDITOR.eventInfo) => void; + activeEnterModeChange?: (evt: eventInfo) => void; + activeFilterChange?: (evt: eventInfo) => void; + afterCommandExec?: (evt: eventInfo) => void; + afterInsertHtml?: (evt: eventInfo) => void; + afterPaste?: (evt: eventInfo) => void; + afterPasteFromWord?: (evt: eventInfo) => void; + afterSetData?: (evt: eventInfo) => void; + afterUndoImage?: (evt: eventInfo) => void; + ariaEditorHelpLabel?: (evt: eventInfo) => void; + ariaWidget?: (evt: eventInfo) => void; + autogrow?: (evt: eventInfo) => void; - beforeCommandExec?: (evt: CKEDITOR.eventInfo) => void; - beforeDestroy?: (evt: CKEDITOR.eventInfo) => void; - beforeGetData?: (evt: CKEDITOR.eventInfo) => void; - beforeModeUnload?: (evt: CKEDITOR.eventInfo) => void; - beforeSetMode?: (evt: CKEDITOR.eventInfo) => void; - beforeUndoImage?: (evt: CKEDITOR.eventInfo) => void; - blur?: (evt: CKEDITOR.eventInfo) => void; + beforeCommandExec?: (evt: eventInfo) => void; + beforeDestroy?: (evt: eventInfo) => void; + beforeGetData?: (evt: eventInfo) => void; + beforeModeUnload?: (evt: eventInfo) => void; + beforeSetMode?: (evt: eventInfo) => void; + beforeUndoImage?: (evt: eventInfo) => void; + blur?: (evt: eventInfo) => void; - change?: (evt: CKEDITOR.eventInfo) => void; - configLoaded?: (evt: CKEDITOR.eventInfo) => void; - contentDirChanged?: (evt: CKEDITOR.eventInfo) => void; - contentDom?: (evt: CKEDITOR.eventInfo) => void; - contentDomInvalidated?: (evt: CKEDITOR.eventInfo) => void; - contentDomUnload?: (evt: CKEDITOR.eventInfo) => void; - customConfigLoaded?: (evt: CKEDITOR.eventInfo) => void; + change?: (evt: eventInfo) => void; + configLoaded?: (evt: eventInfo) => void; + contentDirChanged?: (evt: eventInfo) => void; + contentDom?: (evt: eventInfo) => void; + contentDomInvalidated?: (evt: eventInfo) => void; + contentDomUnload?: (evt: eventInfo) => void; + customConfigLoaded?: (evt: eventInfo) => void; - dataFiltered?: (evt: CKEDITOR.eventInfo) => void; - dataReady?: (evt: CKEDITOR.eventInfo) => void; - destroy?: (evt: CKEDITOR.eventInfo) => void; - dialogHide?: (evt: CKEDITOR.eventInfo) => void; - dialogShow?: (evt: CKEDITOR.eventInfo) => void; - dirChanged?: (evt: CKEDITOR.eventInfo) => void; - doubleclick?: (evt: CKEDITOR.eventInfo) => void; - dragend?: (evt: CKEDITOR.eventInfo) => void; - dragstart?: (evt: CKEDITOR.eventInfo) => void; - drop?: (evt: CKEDITOR.eventInfo) => void; + dataFiltered?: (evt: eventInfo) => void; + dataReady?: (evt: eventInfo) => void; + destroy?: (evt: eventInfo) => void; + dialogHide?: (evt: eventInfo) => void; + dialogShow?: (evt: eventInfo) => void; + dirChanged?: (evt: eventInfo) => void; + doubleclick?: (evt: eventInfo) => void; + dragend?: (evt: eventInfo) => void; + dragstart?: (evt: eventInfo) => void; + drop?: (evt: eventInfo) => void; - elementsPathUpdate?: (evt: CKEDITOR.eventInfo) => void; + elementsPathUpdate?: (evt: eventInfo) => void; - fileUploadRequest?: (evt: CKEDITOR.eventInfo) => void; - fileUploadResponse?: (evt: CKEDITOR.eventInfo) => void; - floatingSpaceLayout?: (evt: CKEDITOR.eventInfo) => void; - focus?: (evt: CKEDITOR.eventInfo) => void; + fileUploadRequest?: (evt: eventInfo) => void; + fileUploadResponse?: (evt: eventInfo) => void; + floatingSpaceLayout?: (evt: eventInfo) => void; + focus?: (evt: eventInfo) => void; - getData?: (evt: CKEDITOR.eventInfo) => void; - getSnapshot?: (evt: CKEDITOR.eventInfo) => void; + getData?: (evt: eventInfo) => void; + getSnapshot?: (evt: eventInfo) => void; - insertElement?: (evt: CKEDITOR.eventInfo) => void; - insertHtml?: (evt: CKEDITOR.eventInfo) => void; - insertText?: (evt: CKEDITOR.eventInfo) => void; - instanceReady?: (evt: CKEDITOR.eventInfo) => void; + insertElement?: (evt: eventInfo) => void; + insertHtml?: (evt: eventInfo) => void; + insertText?: (evt: eventInfo) => void; + instanceReady?: (evt: eventInfo) => void; - key?: (evt: CKEDITOR.eventInfo) => void; + key?: (evt: eventInfo) => void; - langLoaded?: (evt: CKEDITOR.eventInfo) => void; - loadSnapshot?: (evt: CKEDITOR.eventInfo) => void; - loaded?: (evt: CKEDITOR.eventInfo) => void; - lockSnapshot?: (evt: CKEDITOR.eventInfo) => void; - maximize?: (evt: CKEDITOR.eventInfo) => void; - menuShow?: (evt: CKEDITOR.eventInfo) => void; - mode?: (evt: CKEDITOR.eventInfo) => void; + langLoaded?: (evt: eventInfo) => void; + loadSnapshot?: (evt: eventInfo) => void; + loaded?: (evt: eventInfo) => void; + lockSnapshot?: (evt: eventInfo) => void; + maximize?: (evt: eventInfo) => void; + menuShow?: (evt: eventInfo) => void; + mode?: (evt: eventInfo) => void; - notificationHide?: (evt: CKEDITOR.eventInfo) => void; - notificationShow?: (evt: CKEDITOR.eventInfo) => void; - notificationUpdate?: (evt: CKEDITOR.eventInfo) => void; + notificationHide?: (evt: eventInfo) => void; + notificationShow?: (evt: eventInfo) => void; + notificationUpdate?: (evt: eventInfo) => void; - paste?: (evt: CKEDITOR.eventInfo) => void; - pasteFromWord?: (evt: CKEDITOR.eventInfo) => void; - pluginsLoaded?: (evt: CKEDITOR.eventInfo) => void; + paste?: (evt: eventInfo) => void; + pasteFromWord?: (evt: eventInfo) => void; + pluginsLoaded?: (evt: eventInfo) => void; - readOnly?: (evt: CKEDITOR.eventInfo) => void; - removeFormatCleanup?: (evt: CKEDITOR.eventInfo) => void; - required?: (evt: CKEDITOR.eventInfo) => void; - resize?: (evt: CKEDITOR.eventInfo) => void; + readOnly?: (evt: eventInfo) => void; + removeFormatCleanup?: (evt: eventInfo) => void; + required?: (evt: eventInfo) => void; + resize?: (evt: eventInfo) => void; - save?: (evt: CKEDITOR.eventInfo) => void; - saveSnapshot?: (evt: CKEDITOR.eventInfo) => void; - selectionChange?: (evt: CKEDITOR.eventInfo) => void; - setData?: (evt: CKEDITOR.eventInfo) => void; - stylesSet?: (evt: CKEDITOR.eventInfo) => void; + save?: (evt: eventInfo) => void; + saveSnapshot?: (evt: eventInfo) => void; + selectionChange?: (evt: eventInfo) => void; + setData?: (evt: eventInfo) => void; + stylesSet?: (evt: eventInfo) => void; - template?: (evt: CKEDITOR.eventInfo) => void; - toDataFormat?: (evt: CKEDITOR.eventInfo) => void; - toHtml?: (evt: CKEDITOR.eventInfo) => void; + template?: (evt: eventInfo) => void; + toDataFormat?: (evt: eventInfo) => void; + toHtml?: (evt: eventInfo) => void; - unlockSnapshot?: (evt: CKEDITOR.eventInfo) => void; - updateSnapshot?: (evt: CKEDITOR.eventInfo) => void; + unlockSnapshot?: (evt: eventInfo) => void; + updateSnapshot?: (evt: eventInfo) => void; - widgetDefinition?: (evt: CKEDITOR.eventInfo) => void; + widgetDefinition?: (evt: eventInfo) => void; } } + namespace env { + var air: boolean; + var chrome: boolean; + var cssClass: string; + var edge: boolean; + var gecko: boolean; + var hc: boolean; + var hidpi: boolean; + var iOS: boolean; + var ie: boolean; + var isCompatible: boolean; + var mac: boolean; + var needsBrFiller: boolean; + var needsNbspFiller: boolean; + var quirks: boolean; + var safari: boolean; + var version: number; + var webkit: boolean; + + function secure(): boolean; + } + + class event { + static useCapture: boolean; + + constructor(); + capture(): void; + define(name: string, meta: { [key: string]: any }): void; + fire(eventName: string, data?: { [key: string]: any }, editor?: editor): any; + fireOnce(eventName: string, data?: { [key: string]: any }, editor?: editor): any; + hasListeners(eventName: string): boolean; + on(eventName: string, listenerFunction: (eventInfo: eventInfo) => void, scopeObj?: { [key: string]: any } | null, listenerData?: any, priority?: number): listenerRegistration; + once(eventName: string, listenerFunction: (eventInfo: eventInfo) => void, scopeObj?: { [key: string]: any } | null, listenerData?: any, priority?: number): listenerRegistration; + removeAllListeners(): void; + removeListener(eventName: string, listenerFunction: (eventInfo: eventInfo) => void): void; + + static implementOn(targetObject: { [key: string]: any }): void; + } + interface eventInfo { data: any; editor: editor; listenerData: any; name: string; - sender: any; + sender: { [key: string]: any }; + cancel(): void; removeListener(): void; stop(): void; } - module filter { - interface allowedContentRules { + interface feature { + allowedContent?: filter.allowedContentRules; + contentForms?: any; + contentTransformations?: any; + name?: string; + requiredContent?: string | style; + toFeature?: () => feature; + } + namespace fileTools { + var isFileUploadSupported: boolean; + + function addUploadWidget(editor: editor, name: string, def: uploadWidgetDefinition): void; + function bindNotification(editor: editor, fileLoader: fileLoader): void; + function getUploadUrl(config: { [key: string]: any }, type?: string): string; + function isTypeSupported(file: Blob, supportedTypes: RegExp): boolean; + function markElement(element: dom.element, widgetName: string, loaderId: number): void; + + class fileLoader extends event { + readonly data: string; + readonly file: Blob; + readonly fileName: string; + readonly id: number; + readonly loaded: number; + readonly message: string; + readonly reader: FileReader; + readonly responseData: any; + status: string; + readonly total: number; + readonly uploadTotal: number; + readonly uploadUrl: string; + readonly uploaded: string; + readonly url: string; + readonly xhr: XMLHttpRequest; + + constructor(editor: editor, fileOrData: Blob | string, fileName?: string); + abort(): void; + isFinished(): boolean; + load(): void; + loadAndUpload(url: string, additionalRequestParameters?: any): void; + update(): void; + upload(url: string, additionalRequestParameters?: any): void; + } + + class uploadRepository extends event { + readonly loaders: fileLoader[]; + + constructor(editor: editor); + create(fileOrData: Blob | string, fileName: string, loaderType?: any): fileLoader; + isFinished(): boolean; + } + + interface uploadWidgetDefinition extends plugins.widget.definition { + additionalRequestParameters: any; + fileToElement: (pastedFile: any) => HTMLElement; + loadMethod: string; + loaderType: any; + onAbort: () => boolean; + onError: () => boolean; + onLoaded: () => boolean; + onUploaded: () => boolean; + onUploading: () => boolean; + replaceWith: () => any; + skipNotifications: boolean; + supportedTypes: string; + uploadUrl: string; + } + } + + module filter { + type allowedContentRule = string | style | { [key: string]: any }; + type allowedContentRules = allowedContentRule | allowedContentRule[]; + type contentRule = string | style; + type disallowedContentRules = string | { [key: string]: any }; + + interface transformation { + check?: string; + element?: string | style; + left?: (element: htmlParser.element | style) => boolean; + right: (element: htmlParser.element, tools: string | filter.transformationTools) => boolean; + } + + var transformationTools: transformationTools; + + interface transformationTools { + alignmentToAttribute(element: htmlParser.element): void; + alignmentToStyle(element: htmlParser.element): void; + lengthToAttribute(element: htmlParser.element, styleName: string, attrName?: string): void; + lengthToStyle(element: htmlParser.element, styleName: string, attrName?: string): void; + matchesTyle(element: htmlParser.element, style: style): void; + sizeToAttribute(element: htmlParser.element): void; + sizeToStyle(element: htmlParser.element): void; + splitBorderShorthand(element: htmlParser.element): void; + splitMarginShorthand(element: htmlParser.element): void; + transform(element: htmlParser.element, form: style | string): void; } } class filter { - allow(newRules: CKEDITOR.filter.allowedContentRules, featureName?: string, overrideCustom?: boolean): boolean; + readonly allowedContent: filter.allowedContentRules[]; + readonly customConfig: boolean; + readonly disabled: boolean; + readonly disallowedContent: any[]; + readonly editor: editor; + readonly elementCallbacks: ((element: htmlParser.element) => number)[]; + readonly id: number; + static instances: { [id: string]: filter }; + + constructor(editorOrRules: editor | filter.allowedContentRules); + addContentForms(forms: any[]): void; + addElementCallback(callback: (element: htmlParser.element) => number): void; + addFeature(feature: feature): boolean; + addTransformations(transformations: (string | filter.transformation)[][]): void; + allow(newRules: filter.allowedContentRules, featureName?: string, overrideCustom?: boolean): boolean; + applyTo(fragment: htmlParser.fragment | htmlParser.element, toHrml: boolean, transformOnly: boolean, enterMode: number): boolean; + check(test: filter.contentRule, applyTransformations?: boolean, strictCheck?: boolean): boolean; + checkFeature(feature: feature): boolean; + clone(): filter; + destroy(): void; + disable(): void; + disallow(newRules: filter.disallowedContentRules): void; + getAllowedEnterMode(defaultMode: number, reverse?: boolean): number; } - interface buttonDefinition { - icon?: string; - iconOffset?: number; - label : string; - command : string; - toolbar : string; + class focusManager { + currentActive: dom.domObject; + hasFocus: boolean; + + constructor(editor: editor); + add(element: dom.element, isCapture: boolean): void; + blur(noDelay?: boolean): void; + focus(currentActive?: dom.element): void; + lock(): void; + remove(element: dom.element): void; + unlock(): void; } - interface template { - - } - - - interface dataProcessor { - toDataFormat(html: string, fixForBody: string): void; - toHtml(data: string, fixForBody?: string): void; - } - - class htmlDataProcessor { + class htmlDataProcessor implements dataProcessor { dataFilter: htmlParser.filter; htmlFilter: htmlParser.filter; writer: htmlParser.basicWriter; constructor(editor: editor); - toDataFormat(html: string, options?: Object): string; - toHtml(data: string, options?: Object): string; + toDataFormat(html: string, options?: string | { context?: string, filter?: filter, enterMode?: number }): string; + toHtml(data: string, options?: string | htmlDataProcessorOptions): string; } + interface htmlDataProcessorOptions { + context?: string; + fixForBody?: boolean; + filter?: filter; + dontFilter?: boolean; + enterMode?: number; + protectedWhitespaces?: boolean; + } - class event { + namespace htmlParser { + class basicWriter { + constructor(); + attribute(attName: string, attValue: string): void; + closeTag(tagName: string): void; + comment(comment: string): void; + getHtml(reset: boolean): string; + openTag(tagName: string, attributes: { [key: string]: string }): void; + openTagClose(tagName: string, isSelfClose: boolean): void; + reset(): void; + text(text: string): void; + write(data: string): void; + } + + class cdata extends node { + constructor(value: string); + type: number; + writeHtml(writer: htmlParser.basicWriter): void; + } + + class comment extends node { + type: number; + value: string; + + constructor(value: string); + filter(filter: filter): boolean; + writeHtml(writer: htmlParser.basicWriter, filter?: htmlParser.filter): void; + } + + class cssStyle { + constructor(elementOrStyleText: htmlParser.element | string); + populate(obj: htmlParser.element | dom.element | { [key: string]: any }): void; + } + + class element extends node { + attributes: { [name: string]: string }; + children: htmlParser.node[]; + name: string; + type: number; + + constructor(name: string, attributes: { [name: string]: string }); + add(node: node, index?: number): void; + addClass(className: string): void; + clone(): element; + filter(filter: htmlParser.filter): boolean; + filterChildren(filter: htmlParser.filter): void; + find(criteria: string | ((el: htmlParser.node) => boolean), recursive?: boolean): htmlParser.node[]; + forEach(callback: (node: htmlParser.node) => void | false, type?: number, skipRoot?: boolean): void; + getFirst(condition: string | { [key: string]: string } | ((node: htmlParser.node) => boolean)): htmlParser.node; + getHtml(): string; + getOuterHtml(): string; + hasClass(className: string): boolean; + removeClass(className: string): void; + replaceWithChildren(): void; + setHtml(html: string): void; + split(index: number): htmlParser.element; + writeChildrenHtml(writer: htmlParser.basicWriter, filter?: htmlParser.filter): void; + writeHtml(writer: htmlParser.basicWriter, filter?: htmlParser.filter): void; + } + + class filter { + attributeNameRules: filterRulesGroup; + attributesRules: { [name: string]: filterRulesGroup }; + commentRules: filterRulesGroup; + elementNameRules: filterRulesGroup; + elementsRules: { [name: string]: filterRulesGroup }; + id: number; + rootRules: filterRulesGroup; + textRules: filterRulesGroup; + + constructor(rules?: filterRulesDefinition); + addRules(rules: filterRulesDefinition, options?: number | { priority?: number; applyToAll?: boolean; }): void; + applyTo(node: node): void; + } + + interface filterRulesDefinition { + elementNames?: any; + attributeNames?: any; + elements?: any; + attributes?: any; + text?: any; + comment?: any; + root?: any; + } + + class filterRulesGroup { + rules: { value: rule, priority: number, option: ruleOptions }[]; + + add(rule: rule, priority: number, options: ruleOptions): void; + addMany(rules: { [key: string]: any }[], priority: number, options: ruleOptions): void; + exec(currentValue: htmlParser.node | htmlParser.fragment | string): htmlParser.node | htmlParser.fragment | string; + execOnName(currentName: string): string; + findIndex(priority: number): number; + } + + class fragment { + children: htmlParser.node[]; + parent: htmlParser.fragment; + readonly type: number; + + constructor(); + + add(node: htmlParser.node, index?: number): void; + filter(filter: htmlParser.filter): void; + filterChildren(filter: htmlParser.filter, filterRoot?: boolean): void; + forEach(callback: (node: htmlParser.node) => void | false, type?: number, skipRoot?: boolean): void; + writeChildrenHtml(writer: basicWriter, filter?: htmlParser.filter, filterRoot?: boolean): void; + writeHtml(writer: basicWriter, filter?: htmlParser.filter): void; + + static fromBBCode(source: string): htmlParser.fragment; + static fromHtml(fragmentHtml: string, parent?: htmlParser.element | string, fixingBlock?: string | boolean): fragment | htmlParser.element; + } + + class node { + constructor(); + getAscendant(condition: string | { [name: string]: string } | ((node: htmlParser.element) => boolean)): element; + getIndex(): number; + insertAfter(node: node): void; + insertBefore(node: node): void; + remove(): node; + replaceWith(node: node): void; + wrapWith(wrapper: element): element; + } + + type rule = ((value: htmlParser.node | htmlParser.fragment | string) => boolean) | [string, string]; + + interface ruleOptions { + applyToAll?: boolean, + excludeNestedEditable?: boolean + } + + class text extends node { + constructor(value: string); + type: number; + filter(filter: filter): boolean; + writeHtml(writer: basicWriter, filter?: filter): void; + } + } + + class htmlWriter extends htmlParser.basicWriter { + indentationChars: string; + lineBreakChars: string; + selfClosingEnd: string; + + indentation(): void; + lineBreak(): void; + setRules(tagName: string, rules: { [key: string]: any }): void; + } + + class keystrokeHandler { + blockedKeystrokes: { [key: number]: string | boolean }; + keystrokes: { [key: number]: string | boolean }; + + constructor(editor: editor); + + attach(domObject: dom.domObject): void; + } + + namespace lang { + var languages: { [code: string]: number }; + var rtl: { [code: string]: number }; + + function detect(defaultLanguage: string, probeLanguage?: string): string; + function load(languageCode: string, defaultLanguage: string, callback: (code: string, entries: any) => void): void; + } + + namespace loader { + var loadedScripts: string[]; + var scripts: string[]; + + function load(scriptName: string, defer?: boolean): void; + function loadPending(): void; + } + + class menu { constructor(); - useCapture: boolean; - capture(): void; - define(name: string, meta: Object): void; - fire(eventName: string, data?: Object, editor?: editor): any; - fireOnce(eventName: string, data?: Object, editor?: editor): any; - hasListeners(eventName: string): boolean; - on(eventName: string, listenerFunction: (eventInfo: eventInfo) => void, scopeObj?: Object | null, listenerData?: Object | null, priority?: number): listenerRegistration; - once(eventName: string, listenerFunction: (eventInfo: eventInfo) => void, scopeObj?: Object | null, listenerData?: Object | null, priority?: number): listenerRegistration; - removeAllListeners(): void; - removeListener(eventName: string, listenerFunction: (eventInfo: eventInfo) => void): void; - static implementOn(targetObject: Object): void; + + add(item: any): void; + addListener(listenerFn: (startElement: dom.element, selection: dom.selection, path: dom.elementPath) => any): void; + findItemByCommandName(commandName: string): { item: any, element: dom.element }; + hide(returnFocus?: boolean): void; + removeAll(): void; + show(offsetParent: dom.element, corner?: number, offsetX?: number, offsetY?: number): void; } + interface pluginDefinition { + hidpi?: boolean; + lang?: string | string[]; + requires?: string | string[]; - interface commandDefinition { - async?: boolean; - canUndo?: boolean; - context?: boolean; - contextSensitive?: boolean; - editorFocus?: boolean; - modes?: Object; - startDisabled?: boolean; - exec(editor: editor, data?: Object): boolean; - readOnly?: boolean; - refresh?(editor: editor, path: dom.elementPath): void; + afterInit?(editor: editor): any; + beforeInit?(editor: editor): any; + init?(editor: editor): void; + onLoad?(): any; } + namespace plugins { - interface dtdDefinition { - [outerTagName: string]: {[innerTagName: string]: 1}; - $block: {[tagName: string]: 1}; - $blockLimit: {[tagName: string]: 1}; - $cdata: {[tagName: string]: 1}; - $editable: {[tagName: string]: 1}; - $empty: {[tagName: string]: 1}; - $inline: {[tagName: string]: 1}; - $intermediate: {[tagName: string]: 1}; - $list: {[tagName: string]: 1}; - $listItem: {[tagName: string]: 1}; - $nonBodyContent: {[tagName: string]: 1}; - $nonEditable: {[tagName: string]: 1}; - $object: {[tagName: string]: 1}; - $removeEmpty: {[tagName: string]: 1}; - $tabIndex: {[tagName: string]: 1}; - $tableContent: {[tagName: string]: 1}; - $transparent: {[tagName: string]: 1}; + namespace cloudservices { + class cloudServicesLoader extends fileTools.fileLoader { + customToken: string; + + constructor(editor: editor, fileOrData: Blob | string, fileName?: string, token?: string); + loadAndUpload(url?: string, additionalRequestParameters?: any): void; + upload(url?: string, additionalRequestParameters?: any): void; + } + } + + class autoEmbed { + getWidgetDefinition(editor: editor, url: string): widget.definition; + } + + namespace balloontoolbar { + const PRIORITY: { [pri: string]: number }; + + class context { + editor: editor; + options: contextDefinition; + toolbar: ui.balloonToolbar; + + constructor(editor: editor, options: contextDefinition); + destroy(): void; + hide(): void; + refresh(): void; + show(pointedElement?: dom.element): void; + } + + interface contextDefinition { + cssSelector?: string; + priority?: number; + widgets?: string[] | string; + + refresh?: (editor: editor, path: dom.elementPath, selection: dom.selection) => dom.element; + } + + class contextManager { + editor: editor; + + constructor(editor: editor); + add(context: context): void; + check(selection?: dom.selection): void; + create(options: contextDefinition): context; + destroy(): void; + hide(): void; + } + } + + namespace clipboard { + const isCustomCopyCutSupported: boolean; + const isCustomDataTypesSupported: boolean; + const isFileApiSupported: boolean; + const mainPasteEvent: string; + + function addPasteButton(editor: editor, name: string, definition: { [key: string]: any }): void; + function canClipboardApiBeTrusted(dataTransfer: dataTransfer, editor: editor): boolean; + function getDropTarget(editor: editor): dom.domObject; + function getRangeAtDropPosition(domEvent: Event, editor: editor): dom.range; + function initDragDataTransfer(evt?: dom.event, editor?: editor): void; + function initPasteDataTransfer(evt?: dom.event, sourceEditor?: editor): void; + function preventDefaultDropOnElement(element: dom.element): void; + function resetDragDataTransfer(): void; + + class dataTransfer { + readonly $: DataTransfer; + readonly id: string; + readonly sourceEditor: editor; + + constructor(nativeDataTransfer?: DataTransfer, editor?: editor); + cacheData(): void; + getData(type: string, getNative?: boolean): string; + getFile(i: number): File; + getFilesCount(): number; + getTransferType(targetEditor: editor): number; + isEmpty(): boolean; + setData(type: string, value: string): void; + storeId(): void; + } + + class fallbackDataTransfer { + constructor(dataTransfer: dataTransfer); + getData(type: string, getNative?: boolean): string; + isRequired(): boolean; + setData(type: string, value: string): string; + } + } + + namespace condesnippet { + function setHighlighter(highlighter: highlighter): void; + + class highlighter { + highlighter: (code: string, lang: string, callback: (highlightedCode: string) => void) => void; + init: (ready: () => void) => void; + languages: { [lang: string]: string }; + readonly queue: ((code: string, lang: string, callback: (highlightedCode: string) => void) => void)[]; + readonly ready: boolean; + + highlight(code: string, lang: string, callback: (highlightedCode: string) => void): void; + } + } + + class contextMenu extends menu { + constructor(editor: editor); + addTarget(element: dom.element, nativeContextMenuOnCtrl?: boolean): void; + open(offsetParent: dom.element, corner?: number, offsetX?: number, offsetY?: number): void; + } + + namespace copyformatting { + var breakOnElements: string[]; + var elementsForInlineTransform: string[]; + var excludedAttributes: string[]; + var excludedAttributesFromInlineTransform: string[]; + var inlineBoundary: string[]; + var preservedElements: string[]; + + class state extends event { + editor: editor; + filter: filter; + sticky: boolean; + styles: style[]; + + constructor(editor: editor); + } + } + + namespace easyimage { + + } + + namespace embedBase { + function createWidgetBaseDefinition(editor: editor): baseDefinition; + + interface baseDefinition extends widget.definition { + providerUrl: template; + urlRegExp: RegExp; + + getErrorMessage(messageTypeOrMessage: string, url?: string, suffix?: string): string; + isUrlValid(url: string): boolean; + loadContent(url: string, callback?: () => void, errorCallback?: (error: string) => void, noNotifications?: boolean): request; + } + + interface request { + callback: () => void; + errorCallback: (error: string) => void; + response: { [key: string]: string }; + task: notificationAggregator.task; + url: string; + + cancel(): void; + } + } + + namespace image2 { + function checkHasNaturalRatio(image: dom.element): boolean; + function getLinkAttributesGetter(): (editor: editor, data: { [key: string]: string }) => { set: { [tag: string]: string }, removed: string[] }; + function getLinkAttributesParser(): (editor: editor, element: dom.element) => { [key: string]: string }; + function getNatural(image: dom.element): { [key: string]: string }; + } + + namespace imagebase { + var featuresDefinitions: { [key: string]: string }; + + function addFeature(editor: editor, name: string, definition: imageWidgetDefinition): imageWidgetDefinition; + function addImageWidget(editor: editor, name: string, definition: imageWidgetDefinition): void; + + interface imageWidgetDefinition extends widget.definition { + features: string[]; + upcast: string; + } + + class progressBar extends progressReporter { + bar: dom.element; + + constructor(); + + } + + class progressReporter { + wrapper: dom.element; + + constructor(wrapperHtml?: string); + aborted(): void; + bindLoader(loader: fileTools.fileLoader): void; + done(): void; + failed(): void; + remove(): void; + updated(progress: number): void; + } + } + + namespace indent { + function registerCommands(editor: editor, commands: { [key: string]: command }): void; + + class genericDefinition implements commandDefinition { + async: boolean; + canUndo: boolean; + context: boolean; + contextSensitive: boolean; + editorFocus: boolean; + fakeKeystroke: number; + readonly isIndent: boolean; + modes: { [key: string]: any }; + readOnly: boolean; + startDisabled: boolean; + + exec(editor: editor, data?: any): boolean; + refresh?(editor: editor, path: dom.elementPath): void; + } + + class specificDefinition { + database: { [key: string]: any }; + readonly enterBr: boolean; + readonly indentKey: { [key: string]: any }; + readonly isIndent: boolean; + readonly jobs: { [priority: string]: { refresh: (editor: editor, path: dom.elementPath) => number, exec: (editor: editor) => boolean } }; + readonly relatedGlobal: { [key: string]: any }; + + execJob(editor: editor, priority: number): boolean; + getContext(node: dom.elementPath): dom.element; + refreshJob(editor: editor, priority: number): number; + } + } + + namespace indentList { + function firstItemInPath(query: string | string[] | { [tagName: string]: any } | dom.element | ((element: dom.element) => boolean)): boolean; + } + + namespace link { + // DEPRECATED 4.3.3 + const emptyAnchorFix: boolean; + + // DEPRECATED 4.3.3 + const fakeAnchor: boolean; + + // DEPRECATED 4.3.3 + const synAnchorSelector: boolean; + + function getEditorAnchors(editor: editor): dom.element[]; + function getLinkAttributes(editor: editor, data: { [key: string]: any }): { set: { [key: string]: string }, removed: string[] } + function getSelectedLink(editor: editor, returnMultiple?: boolean): dom.element | dom.element[]; + function parseLinkAttributes(editor: editor, element: dom.element): { [key: string]: any }; + function showDisplayTextForElement(element: dom.element, editor: editor): boolean; + function tryRestoreFakeAnchor(editor: editor, element: dom.element): dom.element; + } + + class list { + arrayToList(listArray: any, database: any, paragraphMode: any, dir: any): void; + listToArray(listNode: any, database: any, baseArray: any, baseIndentLevel: any, grandparentNode: any): void; + } + + class notification { + readonly area: notification.area; + readonly duration: number; + readonly editor: editor; + readonly element: dom.element; + readonly id: number; + readonly message: string; + readonly progress: number; + readonly type: notification.type; + + constructor(editor: editor, options: notification.options); + hide(): void; + isVisible(): boolean; + show(): void; + update(options: notification.updateOptions): void; + } + + namespace notification { + interface area { + readonly editor: editor; + readonly element: dom.element; + readonly notifications: notification[]; + + add(notification: notification): void; + remove(notification: notification): void; + } + + interface optionsBase { + duration?: number; + progress?: number; + type?: type; + } + + interface options extends optionsBase { + message: string; + } + + interface updateOptions extends optionsBase { + message?: string; + important?: boolean; + } + + type type = 'info' | 'warning' | 'success' | 'progress'; + } + + class notificationAggregator extends event { + readonly editor: editor; + readonly notification: notification; + + constructor(editor: editor, message: string, singularMessage?: string); + createTask(options?: { weight?: number }): notificationAggregator.task; + getDoneTaskCount(): number; + getPercentage(): number; + getTaskCount(): number; + isFinished(): boolean; + update(): void; + } + + namespace notificationAggregator { + class task extends event { + constructor(weight?: number); + cancel(): void; + done(): void; + isCanceled(): boolean; + isDone(): boolean; + update(weight: number): void; + } + } + + namespace pastefromword { + class lists { + numbering: lists.numbering; + } + + namespace lists { + class numbering { + getStyle(marker: string): string; + toNumber(marker: string, markerType: string): number; + } + } + + class styles { + pushStylesLower(element: htmlParser.element, exceptions: { [style: string]: boolean }, wrapText?: boolean): boolean; + } + } + + namespace tableselection { + function getCellsBetween(first: dom.element, last: dom.element): dom.element[]; + } + + namespace widget { + var WRAPPER_CLASS_PREFIX: string; + + function getNestedEditable(guard: dom.element, node: dom.node): dom.element; + function isDomDragHandler(node: dom.node): boolean; + function isDomDragHandlerContainer(node: dom.node): boolean; + function isDomNestedEditable(node: dom.node): boolean; + function isDomWidget(node: dom.node): boolean; + function isDomWidgetElement(node: dom.node): boolean; + function isDomWidgetWrapper(node: dom.node): boolean; + function isParserWidgetElement(node: dom.node): boolean; + function isParserWidgetWrapper(node: dom.node): boolean; + + namespace nestedEditable { + interface definition { + allowedContent?: filter.allowedContentRules; + disallowedContent?: filter.disallowedContentRules; + pathName?: string; + selector?: string; + } + } + + class nestedEditable extends dom.element { + readonly editor: editor; + readonly enterMode: number; + readonly filter: filter; + readonly shiftEnterMode: number; + + constructor(editor: editor, element: dom.element, config: { filter?: filter }); + getData(): string; + setData(data: string): void; + } + + + interface definition extends feature { + button?: string; + data?: (evt: eventInfo) => void; + defaults?: { [key: string]: any }; + dialog?: string; + downcast?: string | ((element: htmlParser.element) => void); + downcasts?: { [key: string]: any }; + draggable?: boolean; + edit?: () => void; + editables?: { [key: string]: any }; + getLabel?: () => any; + init?: () => void; + inline?: boolean; + insert?: () => void; + mask?: boolean; + parts?: { [key: string]: any }; + pathName?: string; + styleToAllowedContentRules?: (style: style) => filter.allowedContentRules; + styleableElements?: string; + template?: string | template; + upcast?: string | ((element: htmlParser.element, data: any) => boolean); + upcastPriority?: number; + upcasts?: { [key: string]: any }; + } + + class repository extends event { + readonly editor: editor; + readonly focused: widget; + readonly instances: { [id: string]: widget }; + readonly registered: { [name: string]: definition }; + readonly selected: widget[]; + readonly widgetHoldingFocusedEditable: widget; + + add(name: string, widgetDef: plugins.widget.definition): void; + addUpcastCallback(callback: (element: htmlParser.element, data: any) => boolean): void; + checkSelection(): void; + checkWidgets(options?: { initOnlyNew?: boolean; focusInited?: boolean }): void; + del(widget: plugins.widget): void; + destroy(widget: plugins.widget, offline?: boolean): void; + destroyAll(offline?: boolean): void; + finalizeCreation(container: any): void; + getByElement(element: any, checkWrapperOnly: boolean): plugins.widget; + initOn(element: dom.element, widgetDef?: plugins.widget.definition, startupData?: { [key: string]: any }): plugins.widget; + initOn(element: dom.element, widgetDef?: string, startupData?: { [key: string]: any }): plugins.widget; + initOnAll(container?: dom.element): plugins.widget[]; + parseElementClasses(classes: string): any; + wrapElement(element: any, widgetName?: string): any; + } + + class widgetselection { + addFillers(editable: editable): boolean; + removeFillers(editable: editable): void; + } + } + + class widget extends event implements widget.definition { + readonly dataReady: boolean; + readonly definition: plugins.widget.definition; + readonly editor: editor; + readonly element: dom.element; + readonly focusedEditable: plugins.widget.nestedEditable + readonly id: number; + readonly inited: boolean; + readonly ready: boolean; + readonly repository: plugins.widget.repository; + readonly wrapper: dom.element; + + constructor(widgetsRepo: plugins.widget.repository, id: number, element: dom.element, widgetDef: plugins.widget.definition, starupData?: any); + + addClass(className: string): void; + applyStyle(style: style): void; + checkStyleActive(style: style): boolean; + destroy(offline?: boolean): void; + destroyEditable(editableName: string, offline?: boolean): void; + edit(): boolean; + focus(): void; + getClasses(): any; + hasClass(className: string, Whether: boolean): void; + initEditable(editableName: string, definition: plugins.widget.nestedEditable.definition): boolean; + isInited(): boolean; + isReady(): boolean; + removeClass(className: string): void; + removeStyle(style: style): void; + setData(keyOrData: any, value: any): plugins.widget; + setFocused(selected: boolean): plugins.widget; + setSelected(selected: boolean): plugins.widget; + updateDragHandlerPosition(): void; + } + + function add(name: string, definition: pluginDefinition): void; + function add(name: string): void; + function addExternal(name: string, path: string, fileName?: string): void; + function get(name: string): any; + function getFilePath(name: string): string; + function getPath(name: string): string; + function load(name: string, callback: (plugins: string[]) => void, scope?: { [key: string]: any }): void; + function setLang(pluginName: string, languageCode: string, languageEntries: any): void; + var registered: { [key: string]: pluginDefinition }; } - var dtd: dtdDefinition; + class resourceManager { + basePath: string; + externals: { [key: string]: any }; + fileName: string; + loaded: { [key: string]: any }; + registered: { [key: string]: any }; + constructor(basePath: string, fileName: string); + add(name: string, definition?: pluginDefinition): void; + addExternal(names: string, path: string, fileName?: string): void; + get(name: string): pluginDefinition; + getFilePath(name: string): string; + getPath(name: string): string; + load(name: string | string[], callback: (loaded: string[]) => void, scope?: { [key: string]: any }): void; + } + + // see https://docs.com/ckeditor4/latest/api/CKEDITOR_scriptLoader.html + namespace scriptLoader { + function load(scriptUrls: string | string[], callback: (succeededUrls: boolean | string[], failedUrls: string[]) => void, scope?: any, showBusy?: boolean): void; + function queue(scriptUrl: string, callback?: (succeeded: boolean) => void): void; + } + + namespace skin { + var icons: { [name: string]: { path: string } }; + var name: string; + var ua: { [name: string]: any }; + + function addIcon(name: string, path: string, offset?: number, bgsize?: string): void; + function chameleon(editor: string, part: string): void; + function getIconStyle(name: string, rtl?: boolean, overridePath?: number, overrideBgsize?: string): any; + function getPath(part: string): any; + function loadPart(part: string, fn: () => void): void; + function path(): string; + } + + namespace style { + function addCustomHandler(defintion: customHandler): style; + function getStyleText(style: definition): string; + + namespace customHandlers { + class widget extends style { + group: any[]; + widget: string; + checkElement(element: dom.element): boolean; + getClassesArray(): string[]; + getDefintion(): definition; + removeStylesFromSameGroup(editor: editor): boolean; + } + } + + interface definition { + attributes?: { [att: string]: string }, + element: string, + name?: string, + styles?: { [att: string]: string }, + type?: string | number + } + + interface customHandler { + type: string | number; + setup?: (style: definition) => void; + assignedTo?: number; + } + } + + class style { + alwaysRemoveElement: boolean; + includeReadonly: boolean; + constructor(styleDefinition: style.definition, variableValues: any); + apply(editor: editor): void; + applyToObject(element: dom.element, editor: editor): void; + applyToRange(range: dom.range, editor: editor): void; + buildPreview(label?: string): string; + checkActive(elementPath: dom.elementPath, editor: editor): boolean; + checkApplicable(elementPath: dom.elementPath, editor: editor, filter?: filter): boolean; + checkElementMatch(element: dom.element, fullMatch: boolean, editor: editor): boolean; + checkElementRemovable(element: dom.element, fullMatch: boolean, editor: editor): boolean; + getDefintion(): style.definition; + remove(editor: editor): void; + removeFromRange(range: dom.range, editor: editor): void; + toAllowedContentRules(editor?: editor): filter.allowedContentRules; + } + + class styleCommand { + constructor(style: style, ext?: any); + exec(editor: editor): void; + } + + var stylesSet: resourceManager; + + class template { + readonly source: string; + + constructor(source: string); + output(data: any, buffer?: any[]): string | number; + } + + namespace tools { + function addFunction(fn: () => any, scope?: any): number; + function arrayCompare(arrayA: any[], arrayB: any[]): boolean; + function clone(source: { [key: string]: any }): { [key: string]: any }; + function copy(source: { [key: string]: any }): { [key: string]: any }; + function createClass(definition: { [key: string]: any }): any; + function cssStyleToDomStyle(cssName: string): string; + function cssVendorPrefix(property: string, value: string, asString?: boolean): { [cssClass: string]: string | number }; + function defer(fn: T): T; + function enableHtml5Elements(doc: Document | DocumentFragment, withAppend?: boolean): void; + function escapeCss(selector: string): string; + function eventsBuffer(minInterval: number, output: () => void, scopeObj: any): { input: () => void, reset: () => void }; + function extend(target: { [key: string]: any }, source: { [key: string]: any }, overwrite: boolean, properties: { [key: string]: any }): { [key: string]: any }; + function fixDomain(): boolean; + function genKey(subKey: string): string; + function getCookie(name: string): string; + function getCsrfToken(): string; + function getIndex(array: T[], compareFunction: (element: T) => boolean): number; + function getMouseButton(evt: dom.event): boolean; + function getNextId(): string; + function getNextNumber(): number; + function getUniqueId(): string; + function htmlDecode(text: string): string; + function htmlDecodeAttr(text: string): string; + function htmlEncode(text: string): string; + function htmlEncodeAttr(text: string): string; + function indexOf(array: T[], value: T | ((el: T) => boolean)): number; + function isArray(object: any): object is T[]; + function isEmpty(object: { [key: string]: any }): boolean; + function keystrokeToArray(lang: { [key: string]: any }, keystroke: number): { display: string[], aria: string[] }; + function keystrokeToString(lang: { [key: string]: any }, keystroke: number): { display: string, aria: string }; + function ltrim(str: string): string; + function normalizeCssText(styleText: string, nativeNormalize: boolean): string; + function normalizeHex(styleText: string): string; + function objectCompare(left: { [key: string]: any }, right: { [key: string]: any }, onlyLef?: boolean): boolean; + function objectKeys(obj: { [key: string]: any }): string[]; + function override(originalFunction: T, functionBuilder: (originalFunction: T) => T): T; + function parseCssText(styleText: string, normalize?: boolean, nativeNormalize?: boolean): { [key: string]: any }; + function prototypedCopy(source: { [key: string]: any }): { [key: string]: any }; + function removeFunction(ref: number): void; + function repeat(str: string, times: number): string; + function rtrim(str: string): string; + function search(array: T[], value: T | ((element: T) => boolean)): T; + function setCookie(name: string, value: string): void; + function setTimeout(func: Function, milliseconds?: number, scope?: { [key: string]: any }, args?: any, ownerWindow?: Window): number; + function transformPlainTextToHtml(text: string, etnerMode: number): string; + function trim(str: string): string; + function tryThese(fn: Function[]): any; + function writeCssText(styles: { [key: string]: any }, sort?: boolean): string; + + namespace array { + function every(array: T[], fn: (value: T, index: number, array: T[]) => boolean, thisArg?: { [key: string]: any }): boolean; + function filter(array: T[], fn: (value: T, index: number, array: T[]) => boolean, thisArg?: { [key: string]: any }): T[]; + function forEach(array: T[], fn: (value: T, index: number, array: T[]) => void, thisArg?: { [key: string]: any }): void; + function isArray(object: any): boolean; + function map(array: T[], fn: (value: T) => K, thisArg?: { [key: string]: any }): K[]; + function reduce(array: T[], fn: (accumulator: K, a: T, index: number, array: T[]) => K, initial: K, thisArg?: { [key: string]: any }): K; + } + + namespace object { + function findKey(obj: { [key: string]: any }, value: any): string; + function merge(obj1: { [key: string]: any }, obj2: { [key: string]: any }): { [key: string]: any }; + } + + namespace style { + namespace parse { + function background(value: string): { color: string, unprocessed: string }; + function border(value: string): { width: string, style: string, color: string }; + function margin(value: string): { top: number, right: number, bottom: number, left: number }; + } + } + } class ui extends event { constructor(editor: editor); - add(name: string, type: Object, definition: Object): void; + add(name: string, type: { [key: string]: any }, definition: { [key: string]: any }): void; addButton(name: string, definition: buttonDefinition): void; - addHandler(type: Object, handler: Object): void; - } - - class environmentConfig { - air : boolean; - chrome : boolean; - cssClass : string; - edge : boolean; - gecko : boolean; - hc : boolean; - hidpi : boolean; - iOS : boolean; - ie : boolean; - isCompatible : boolean; - mac : boolean; - needsBrFiller : boolean; - needsNbspFiller : boolean; - quirks : boolean; - safari : boolean; - version : number; - webkit : boolean; - secure( ) : boolean; + addHandler(type: { [key: string]: any }, handler: { [key: string]: any }): void; + addRichCombo(name: string, definition: { [key: string]: any }): void; + addToolbarGroup(name: string, previous: number | string, subgroupOf?: string): void; + create(name: string): { [key: string]: any }; + get(name: string): { [key: string]: any }; + space(name: string): dom.element; + spaceId(name: string): string; } namespace ui { namespace dialog { - class uiElement { - eventProcessors: any; - - constructor(dialog: CKEDITOR.dialog, elementDefinition: CKEDITOR.dialog.definition.uiElement, htmlList: any[], nodeNameArg?: Function | string, stylesArg?: Function | Object, attributesArg?: Function | Object, contentsArg?: Function | string); // Not sure that the htmlList array type is right. - - accessKeyDown(dialog: CKEDITOR.dialog, key: string): void; - accessKeyUp(dialog: CKEDITOR.dialog, key: string): void; - disable(): void; - enable(): void; - focus(): CKEDITOR.ui.dialog.uiElement; - getDialog(): CKEDITOR.dialog; - getElement(): CKEDITOR.dom.element; - getInputElement(): CKEDITOR.dom.element; - getValue(): any; - isChanged(): boolean; - isEnabled(): boolean; - isFocusable(): boolean; - isVisible(): boolean; - registerEvents(definition: CKEDITOR.dialog.definition.uiElement): CKEDITOR.ui.dialog.uiElement; - selectParentTab(): CKEDITOR.ui.dialog.uiElement; - setValue(value: Object, noChangeEvent: boolean): CKEDITOR.ui.dialog.uiElement; - - // Change event? - } - - class button extends uiElement { - constructor(dialog: CKEDITOR.dialog, elementDefinition: CKEDITOR.dialog.definition.uiElement, htmlList: any[]); + constructor(dialog: dialog, elementDefinition: definitions.button, htmlList: any[]); accessKeyDown(): void; accessKeyUp(): void; click(): any; } - class checkbox extends uiElement { - constructor(dialog: CKEDITOR.dialog, elementDefinition: CKEDITOR.dialog.definition.uiElement, htmlList: any[]); + constructor(dialog: dialog, elementDefinition: definitions.checkbox, htmlList: any[]); accessKeyUp(): void; - getInputElement(): CKEDITOR.dom.element; getValue(): boolean; - setValue(checked: boolean, noChangeEvent: boolean): any; // returns void according to doc, but cannot override base class like that + setValue(checked: boolean, noChangeEvent: boolean): undefined; } + namespace definitions { + interface button { + label: string; + disabled?: boolean; + } + + interface checkbox { + checked?: boolean; + validate?: () => boolean; + label?: string; + } + + interface fieldSet { + label?: string; + children: any[]; + } + + interface file { + validate?: () => boolean; + } + + interface fileButton { + for: string; + validate?: () => boolean; + } + + interface hbox { + widths?: string[]; + height?: string; + padding?: string; + align?: string; + } + + interface html { + html: string; + } + + interface iframeElement { + src: string; + width: string; + height: string; + onContentLoad?: () => void; + } + + interface labeledElement { + label: string; + labelLayout?: 'horizontal' | 'vertical'; + widths?: [string, string]; + role?: string; + includeLabel?: boolean; + } + + interface radio { + default: any; + validate?: () => boolean; + items: ([string, string] | [string])[]; + } + + interface select { + default: any; + validate?: () => boolean; + items: ([string, string] | [string])[]; + multiple?: boolean; + size?: number; + } + + interface textarea { + rows?: number; + cols?: number; + default?: string; + validate?: () => boolean; + } + + interface textInput { + default?: string; + validate?: () => boolean; + maxLength?: number; + size?: string; + } + + interface uiElement { + id: string; + type: number; + title?: string; + hidden?: boolean; + className?: string; + style?: string; + accessKey?: string; + } + + interface vbox { + width?: string; + heights?: string[]; + align?: string; + padding?: string; + expand?: boolean; + } + } class fieldset extends uiElement { - constructor(dialog: CKEDITOR.dialog, childObjList: any[], childHtmlList: any[], htmlList: any[], elementDefinition: CKEDITOR.dialog.definition.uiElement); + constructor(dialog: dialog, childObjList: any[], childHtmlList: any[], htmlList: any[], elementDefinition: definitions.fieldSet); } - class file extends CKEDITOR.ui.dialog.labeledElement { - constructor(dialog: CKEDITOR.dialog, elementDefinition: CKEDITOR.dialog.definition.uiElement, htmlList: any[]); + class file extends ui.dialog.labeledElement { + constructor(dialog: dialog, elementDefinition: definitions.file, htmlList: any[]); getAction(): string; - getInputElement(): CKEDITOR.dom.element; - registerEvents(definition: Object): CKEDITOR.ui.dialog.file; + registerEvents(definition: { [key: string]: any }): file; reset(): void; setInitValue(): void; - submit(): CKEDITOR.ui.dialog.file; + submit(): file; } - class fileButton extends CKEDITOR.ui.dialog.button { - constructor(dialog: CKEDITOR.dialog, elementDefinition: CKEDITOR.dialog.definition.uiElement, htmlList: any[]); - - // formLoaded event ?? + class fileButton extends button { + constructor(dialog: dialog, elementDefinition: definitions.fileButton, htmlList: any[]); } class hbox extends uiElement { - constructor(dialog: CKEDITOR.dialog, childObjList: any[], childHtmlList: any[], htmlList: any[], elementDefinition: CKEDITOR.dialog.definition.uiElement); + constructor(dialog: dialog, childObjList: any[], childHtmlList: any[], htmlList: any[], elementDefinition: definitions.hbox); - getChild(indices: number): CKEDITOR.ui.dialog.uiElement; - getChild(indices: number[]): CKEDITOR.ui.dialog.uiElement[]; + getChild(indices: number): ui.dialog.uiElement; + getChild(indices: number[]): ui.dialog.uiElement[]; } class html extends uiElement { - constructor(dialog: CKEDITOR.dialog, elementDefinition: CKEDITOR.dialog.definition.uiElement, htmlList: any[]); + constructor(dialog: dialog, elementDefinition: definitions.html, htmlList: any[]); } @@ -1528,422 +2499,272 @@ declare namespace CKEDITOR { class labeledElement extends uiElement { - constructor(dialog: CKEDITOR.dialog, elementDefinition: CKEDITOR.dialog.definition.uiElement, htmlList: any[], contentHtml: Function); + constructor(dialog: dialog, elementDefinition: definitions.labeledElement, htmlList: any[], contentHtml: () => string); getLabel(): string; - setlabel(label: string): CKEDITOR.ui.dialog.labeledElement; + setlabel(label: string): ui.dialog.labeledElement; } - class radio extends CKEDITOR.ui.dialog.labeledElement { - constructor(dialog: CKEDITOR.dialog, elementDefinition: CKEDITOR.dialog.definition.uiElement, htmlList: any[]); + class radio extends ui.dialog.labeledElement { + constructor(dialog: dialog, elementDefinition: definitions.radio, htmlList: any[]); accessKeyUp(): void; getValue(): string; - setValue(value: string, noChangeEvent: boolean): any; // returns void according to doc, but cannot override base class like that + setValue(value: string, noChangeEvent: boolean): undefined; } class select extends uiElement { - constructor(dialog: CKEDITOR.dialog, elementDefinition: CKEDITOR.dialog.definition.uiElement, htmlList: any[]); + constructor(dialog: dialog, elementDefinition: definitions.select, htmlList: any[]); - add(label: string, value?: string, indexedDB?: number): CKEDITOR.ui.dialog.select; - clear(): CKEDITOR.ui.dialog.select; - getInputElement(): CKEDITOR.dom.element; - remove(index: number): CKEDITOR.ui.dialog.select; + add(label: string, value?: string, indexedDB?: number): select; + clear(): select; + remove(index: number): select; } - class textarea extends CKEDITOR.ui.dialog.labeledElement { - constructor(dialog: CKEDITOR.dialog, elementDefinition: CKEDITOR.dialog.definition.uiElement, htmlList: any[]); + class textarea extends labeledElement { + constructor(dialog: dialog, elementDefinition: definitions.textarea, htmlList: any[]); } - class textInput extends CKEDITOR.ui.dialog.labeledElement { - constructor(dialog: CKEDITOR.dialog, elementDefinition: CKEDITOR.dialog.definition.uiElement, htmlList: any[]); + class textInput extends ui.dialog.labeledElement { + constructor(dialog: dialog, elementDefinition: definitions.textInput, htmlList: any[]); accessKeyUp(): void; - focus(): any; // returns void according to doc, but cannot override base class like that + focus(): undefined; getDirectionMarker(): string; - getInputElement(): CKEDITOR.dom.element; getValue(): string; select(): void; setDirectionMarker(dir: string): void; - setValue(value: string, noChangeEvent: boolean): CKEDITOR.ui.dialog.textInput; + setValue(value: string, noChangeEvent: boolean): textInput; + } + + class uiElement { + eventProcessors: any; + + constructor(dialog: dialog, elementDefinition: definitions.uiElement, htmlList: any[], nodeNameArg?: () => string | string, stylesArg?: () => { [key: string]: any } | { [key: string]: any }, attributesArg?: () => { [key: string]: any } | { [key: string]: any }, contentsArg?: () => { [key: string]: any } | string); // Not sure that the htmlList array type is right. + + accessKeyDown(dialog: dialog, key: string): void; + accessKeyUp(dialog: dialog, key: string): void; + disable(): void; + enable(): void; + focus(): ui.dialog.uiElement; + getDialog(): dialog; + getElement(): dom.element; + getInputElement(): dom.element; + getValue(): any; + isChanged(): boolean; + isEnabled(): boolean; + isFocusable(): boolean; + isVisible(): boolean; + registerEvents(definition: CKEDITOR.dialog.definition.uiElement): ui.dialog.uiElement; + selectParentTab(): ui.dialog.uiElement; + setValue(value: any, noChangeEvent: boolean): ui.dialog.uiElement; + } + + class vbox extends hbox { + constructor(dialog: dialog, childObjList: any[], childHtmlList: any[], htmlList: any[], elementDefinition: definitions.vbox); } } - } - class dialog { - state: number; + class balloonPanel { + activeShowListeners: { [id: number]: { removeListener: listenerRegistration } }; + editor: editor; + focusables: { [id: number]: dom.element }; + height: string; + parts: balloonPanel.parts; + rect: balloonPanel.rect; + showListeners: { [id: number]: () => listenerRegistration }; + templateDefinitions: balloonPanel.templateDefinitions; + templates: balloonPanel.templates; + triangleHeight: number; + triangleMinDistance: number; + triangleWidth: number; + width: number; - constructor(editor: Object, dialogName: string); + activeShowListener(id: number): void; + activateShowListeners(): void; + addShowListener(listener: () => listenerRegistration): listenerRegistration; + attach(element: dom.element, options?: dom.element | boolean | { focusElement?: dom.element | boolean, show?: boolean }): void; + blur(): void; + build(): void; + deactivateShowListener(id: number): void; + deregisterFocusable(element: dom.element): void; + destroy(): void; + getHeight(): number; + getWidth(): number; + hide(): void; + move(top: number, left: number): void; + registerFocusable(element: dom.element): void; + removeShowListener(id: number): void; + resize(width: number, height: number): void; + setTitle(title: string): void; + setTriangle(side: 'left' | 'right' | 'top' | 'bottom'): void; + show(): void; + } - addFocusable(element: CKEDITOR.dom.element, index?: number): void; - addPage(contents: Object): void; - click(id: string): Object; - commitContent(): void; - diableButton(id: string): void; - enableButton(id: string): void; - foreach(fn: Function): CKEDITOR.dialog; - getButton(id: string): CKEDITOR.ui.dialog.button; - getContentElement(pageId: string, elementId: string): CKEDITOR.ui.dialog.uiElement; - getElement(): CKEDITOR.dom.element; - getName(): string; - getPageCount(): number; - getParentEditor(): CKEDITOR.editor; - getPosition(): Object; - getSelectedElement(): CKEDITOR.dom.element; - getSize(): Object; - getValueOf(pageId: string, elementId: string): Object; - hide(): void; - hidePage(id: string): void; - layout(): void; - move(x: number, y: number, save: boolean): void; - reset(): CKEDITOR.dialog; - resize(width: number, height: number): void; - selectPage(id: string): void; - setState(state: number): void; - setValueOf(pageId: string, elementId: string, value: Object): void; - setupContent(): void; - show(): void; - showPage(id: string): void; - updateStyle(): void; - - // NOTE: Static methods are added to dialog module - } - - - namespace dialog { - - namespace definition { - - interface button extends uiElement { - disabled?: boolean; - label?: string; - } - - - interface checkbox extends uiElement { - default?: string; - label?: string; - validate?: Function; - } - - - interface content { - accessKey?: string; - elements?: CKEDITOR.dialog.definition.uiElement[]; - id?: string; - label?: string; + namespace balloonPanel { + interface definition { + content?: string; title?: string; } - - interface file extends labeledElement { - action?: string; - size?: string; - validate?: Function; + interface templates { + close?: template; + content?: template; + panel?: template; + title?: template; + triangle?: template; + triangleInner?: template; + triangleOuter?: template; } - - interface fileButton extends uiElement { - filebrowser?: string; - for?: string; - label?: string; - styles?: string; + interface templateDefinitions { + close?: string; + content?: string; + panel?: string; + title?: string; + triangle?: string; + triangleInner?: string; + triangleOuter?: string; } - - interface hbox extends uiElement { - children?: CKEDITOR.ui.dialog.uiElement[]; + interface rect { height?: number; - padding?: number; - validate?: Function; - widths?: number[]; + left?: number; + top?: number; + visible?: boolean; + width?: number; } - - interface html extends uiElement { - html?: string; - } - - - interface labeledElement extends uiElement { - controlStyle?: string; - inputStyle?: string; - label?: string; - labelLayout?: string; - labelStyle?: string; - widths?: number[]; - } - - - interface radio extends labeledElement { - default?: string; - items?: string[] | (string[])[]; - validate?: Function; - } - - - - interface select extends labeledElement { - default?: string; - items?: string[] | (string[])[]; - multiple?: boolean; - size?: number; - validate?: Function; - } - - - - interface textarea extends labeledElement { - bidi?: boolean; - cols?: number; - default?: string; - rows?: number; - validate?: Function; - } - - - interface textInput extends labeledElement { - bidi?: boolean; - default?: string; - maxLength?: number; - size?: number; - validate?: Function; - } - - - interface uiElement { - align?: string; - className?: string; - commit?: (widget: CKEDITOR.plugins.widget) => void; - id?: string; - onHide?: (elem: CKEDITOR.ui.dialog.uiElement) => void; - onLoad?: (elem: CKEDITOR.ui.dialog.uiElement) => void; - onShow?: (elem: CKEDITOR.ui.dialog.uiElement) => void; - requiredcontent?: string | Object | CKEDITOR.style; - setup?: (widget: CKEDITOR.plugins.widget) => void; - style?: string; - title?: string; - type?: string; - } - - - interface vbox extends uiElement { - children?: CKEDITOR.ui.dialog.uiElement[]; - expand?: boolean; - heights?: number[]; - padding?: number; - styles?: string; - width?: number[]; + interface parts { + close?: dom.element; + content?: dom.element; + panel?: dom.element; + title?: dom.element; + triangle?: dom.element; + triangleInner?: dom.element; + triangleOuter?: dom.element; } } - interface IDialogDefinition { - buttons?: CKEDITOR.dialog.definition.button[]; - contents?: CKEDITOR.dialog.definition.content[]; - height?: number; - minHeight?: number; - minWidth?: number; - onCancel?: Function; - onLoad?: Function; - onOk?: Function; - onShow?: Function; - onHide?: Function; - resizable?: number; - title?: string; - width?: number; + class balloonToolbar { + constructor(editor: editor, definition: { [key: string]: any }); + addItem(name: string, element: button | richCombo): void; + addItems(elements: { [itemName: string]: button | richCombo }): void; + deleteItem(name: string): void; + destroy(): void; + getItem(name: string): button | richCombo; + hide(): void; + refresh(): void; + show(): void; } - function add(name: string, path: string): void; - function add(name: string, dialogDefinition: (editor: CKEDITOR.editor) => IDialogDefinition): void; - function addIframe(name: string, title: string, minWidth: number, minHeight: number, onContentLoad?: Function, userDefinition?: Object): void; - function addUIElement(typeName: string, builder: Function): void; - function cancelButton(): void; - function exists(name: string | number): void; // NOTE: documentation says object, but it's an array accessor, so really a string or number will work - function getCurrent(): CKEDITOR.dialog; - function isTabEnabled(editor: CKEDITOR.editor, dialogName: string, tabName: string): boolean; - function okButton(): void; + class button { + static readonly handler: handlerDefinition