diff --git a/.github/CODE_OWNERS b/.github/CODE_OWNERS new file mode 100644 index 0000000000..58481899d6 --- /dev/null +++ b/.github/CODE_OWNERS @@ -0,0 +1,2759 @@ +/types/abs @AyaMorisawa +/types/absolute @AyaMorisawa +/types/acc-wizard @cyrilschumacher +/types/accepts @bomret +/types/ace @Diullei +/types/acl @tkQubo +/types/acorn @RReverser, @e-cloud +/types/actioncable @zhu1230 +/types/activex-adodb @zspitz +/types/activex-scripting @zspitz +/types/activex-wia @zspitz +/types/adal @mmaitre314 +/types/adm-zip @jvilk, @abner +/types/adone @s0m3on3, @maxveres +/types/aframe @devpaul +/types/agenda @meirgottlieb +/types/aggregate-error @BendingBender +/types/alexa-sdk @petebeegle, @hoo29, @pascalwhoop, @blforce +/types/alexa-voice-service @dolanmiu +/types/algebra.js @CaselIT +/types/algoliasearch @cbaptiste +/types/alt @Shearerbeard +/types/amcharts @aleksey-bykov +/types/amplify-deferred @laurentiustamate94 +/types/amplitude-js @Asido +/types/amqp @seikho +/types/amqplib @mnahkies, @abreits, @nfantone +/types/analytics-node @fongandrew +/types/angular @calebstdenis, @leonard-thieu +/types/angular-agility @rolandzwaga +/types/angular-animate @michelsalib, @adidahiya, @rasch, @codyschaaf +/types/angular-block-ui @lassebn, @sclassen +/types/angular-bootstrap-calendar @Odrin +/types/angular-bootstrap-lightbox @rolandzwaga +/types/angular-breadcrumb @marctalary +/types/angular-cookie @borislavjivkov +/types/angular-dialog-service @wcomartin +/types/angular-dynamic-locale @stephenlautier +/types/angular-environment @terrawheat +/types/angular-formly @scatcher +/types/angular-fullscreen @julienpa +/types/angular-gettext @AkosLukacs +/types/angular-google-analytics @cyrilschumacher, @Toxantron +/types/angular-gridster @jpmnteiro +/types/angular-growl-v2 @mkp05 +/types/angular-hotkeys @jlz27, @reppners +/types/angular-http-auth @vvakame +/types/angular-httpi @Kukks +/types/angular-idle @mthamil +/types/angular-jwt @rerezz +/types/angular-load @david-gang +/types/angular-loading-bar @stephenlautier +/types/angular-local-storage @kenfdev, @dona278 +/types/angular-localforage @reppners +/types/angular-locker @nkovacic +/types/angular-material @blbigelow, @PeterHajdu, @Dona278, @geertjansen +/types/angular-media-queries @jpmnteiro +/types/angular-meteor @pgrm +/types/angular-modal @paullessing +/types/angular-oauth2 @anteriovieira +/types/angular-pdfjs-viewer @bastienmoulia +/types/angular-permission @vmishevski +/types/angular-q-spread @rafw87 +/types/angular-route @park9140 +/types/angular-scenario @RomanoLindano +/types/angular-scroll @samherrmann +/types/angular-signalr-hub @AdamSantaniello +/types/angular-spinner @Biegal +/types/angular-storage @mdekrey +/types/angular-strap @samherrmann +/types/angular-toastr @nkovacic, @trodi +/types/angular-toasty @muenchdo +/types/angular-tooltips @leonard-thieu +/types/angular-touchspin @nkovacic +/types/angular-translate @michelsalib +/types/angular-ui-bootstrap @xt0rted, @ry8806 +/types/angular-ui-router @michelsalib, @matiishyn +/types/angular-ui-scroll @marknadig +/types/angular-ui-sortable @thgreasi +/types/angular-ui-tree @CalvinFernandez +/types/angular-websocket @nickveys +/types/angular-wizard @mjurisic, @rwwilden +/types/angular-xeditable @jpmnteiro +/types/angular.throttle @reppners +/types/angulartics @stevenfan +/types/animation-frame @qinfchen +/types/ansi-styles @brynbellomy +/types/ansicolors @rogierschouten +/types/any-db @rogierschouten +/types/any-db-transaction @rogierschouten +/types/anybar @khoomeister +/types/anydb-sql-migrations @spion +/types/anymatch @BendingBender +/types/apex.js @y13i +/types/aphrodite @asvetliakov +/types/api-error-handler @tkrotoff +/types/apigee-access @CasperSkydt +/types/app-root-path @shantmarouti +/types/appframework @kyo-ago +/types/appletvjs @brainded +/types/applicationinsights-js @kamilszostak +/types/arbiter @arash16 +/types/arcgis-js-api/v3 @Esri +/types/arcgis-js-api @Esri +/types/arcgis-rest-api @JeffJacobson +/types/arcgis-to-geojson-utils @JeffJacobson +/types/archiver @dolanmiu, @crevil +/types/are-we-there-yet @brianloveswords +/types/argv @hookclaw +/types/array-find-index @samverschueren +/types/array-foreach @skysteve +/types/array-uniq @DanielRosenwasser +/types/arrify @wanganjun +/types/artyom.js @semagarcia +/types/asana @tkqubo +/types/asenv @remisery +/types/asn1js @microshine +/types/aspnet-identity-pw @jt000 +/types/assert-equal-jsx @seryl +/types/assert-plus @KostyaTretyak +/types/assertion-error @Bartvds +/types/assertsharp @brunolm +/types/assets-webpack-plugin @kryops +/types/async @kern0, @Penryn, @fenying, @pascalmartin +/types/async.nexttick @pyrho +/types/atpl @soywiz +/types/audiosprite @Perlmint +/types/aurelia-knockout @code-chris +/types/auth0 @wbhob, @westy92, @amiram +/types/auth0-angular @homesar +/types/auth0-js/v7 @advancedrei +/types/auth0-js @adrianchia +/types/auth0-lock @carusology, @goldcaddy77 +/types/auth0.widget @advancedrei +/types/auto-launch @rhysd, @unindented +/types/auto-sni @janwo +/types/autobahn @valepu +/types/autolinker @leonyu +/types/autoprefixer @odnamrataizem +/types/autosize @kingdango, @keika299, @NeekSandhu +/types/aws-iot-device-sdk @niik +/types/aws-lambda @skarum, @tobyhede, @buggy, @y13i, @wwwy3y3 +/types/aws-serverless-express @threesquared, @jcaffey, @mattmeye +/types/aws4 @ajcrites +/types/axel @ruslan-molodyko +/types/azure @AndrewGaspar, @antiveeranna, @SomaticIT +/types/b_ @outring +/types/babel-code-frame @mohsen1 +/types/babel-core @yortus, @marvinhagemeister +/types/babel-generator @yortus, @johnnyestilles +/types/babel-plugin-syntax-jsx @marvinhagemeister +/types/babel-template @yortus, @marvinhagemeister +/types/babel-traverse @yortus, @marvinhagemeister +/types/babel-types @yortus, @baxtersa, @marvinhagemeister +/types/babelify @TeamworkGuy2, @marvinhagemeister +/types/babylon @yortus, @marvinhagemeister +/types/babyparse @cdiddy77 +/types/backbone.marionette @zhamid, @nvivo, @sventschui +/types/backlog-js @vvatanabe +/types/baconjs @alexander-matsievsky, @gekkio +/types/bagpipes @micmro +/types/barcode @pvomhoff +/types/bardjs @TepigMC +/types/base-64 @dolanmiu +/types/base-x @chrootsu +/types/base16 @alechill +/types/base64-js @pe8ter +/types/bases @harikv +/types/basic-auth @moonpyk, @vesse +/types/bazinga-translator @alexndlm +/types/bcrypt @codeanimal, @IOAyman +/types/bem-cn @selkinvitaly +/types/better-curry @pocesar +/types/bezier-js @danmarshall +/types/bgiframe @sumegizoltan +/types/bigi @mhegazy +/types/bigint @Evgenus +/types/bignum @Patman64 +/types/bind-ponyfill @skysteve +/types/bingmaps @rbrundritt +/types/bintrees @CjS77 +/types/bit-array @mudkipme +/types/bitcoinjs-lib @mhegazy, @dlebrecht, @rbuckton +/types/bittorrent-protocol @feross, @tlaziuk +/types/bitwise-xor @rogierschouten +/types/bl @Bartvds +/types/blacklist @mhegazy +/types/blazy @julienpa +/types/blessed @brynbellomy +/types/blissfuljs @fskorzec +/types/blob-stream @erichillah +/types/blob-util @WorldMaker +/types/blocks @ksmigiel +/types/bloomfilter @slawiko +/types/blue-tape @sodatea +/types/bluebird/v1 @Bartvds +/types/bluebird/v2 @Bartvds, @falsandtru +/types/bluebird @lhecker +/types/bluebird-global @d-ph +/types/bluebird-retry @pvomhoff +/types/blueimp-md5 @rmartone, @mkohlmyr +/types/body-parser @santialbo, @vilic, @dreampulse, @tlaziuk +/types/bonjour @octo-sniffle +/types/bookshelf @vesse +/types/bootbox @stannynuytkens +/types/bootstrap-fileinput @CheCoxshall +/types/bootstrap-maxlength @danmana +/types/bootstrap-notify @mouse0270, @robert-voica +/types/bootstrap-select @LKay +/types/bootstrap-slider @dbeckwith, @leonard-thieu +/types/bootstrap-switch @johnmbaughman +/types/bootstrap-touchspin @albinsunnanbo +/types/bootstrap-treeview @jbtronics +/types/bootstrap.v3.datetimepicker/v3 @bayitajesi +/types/bootstrap.v3.datetimepicker @katonap +/types/bowser @pocesar +/types/brace-expansion @BendingBender +/types/braintree-web @chlela +/types/brorand @chrootsu +/types/browser-bunyan @PaulLockwood, @kryops +/types/browser-fingerprint @LKay +/types/browser-harness @scriby +/types/browser-pack @TeamworkGuy2 +/types/browser-report @JTOne123 +/types/browserify @jvilk, @leonard-thieu +/types/bs58 @chrootsu +/types/bson @CaselIT +/types/bucks @zaneli +/types/buffer-compare @chrootsu +/types/buffer-equal @Bartvds +/types/bufferstream @Bartvds +/types/bull/v2 @bgrieder, @JProgrammer +/types/bull @bgrieder, @JProgrammer, @marshall007 +/types/bunnymq @cyrilschumacher +/types/bunyan @amikhalev +/types/bunyan-blackhole @olivr70 +/types/bunyan-config @cyrilschumacher +/types/bunyan-winston-adapter @stevehipwell +/types/busboy @jacobbaskin +/types/business-rules-engine @rsamec +/types/byline @reppners +/types/c3 @mcliment, @gerinjacob, @denyo +/types/cachefactory @vag1830, @danielmassa +/types/callsite @newclear +/types/callsites @BendingBender +/types/calq @eirikhm +/types/camelcase @samverschueren +/types/camelcase-keys @mhegazy +/types/camo @lucasmciruzzi +/types/cannon @clark-stevenson +/types/canvas-gauges @Mikhus +/types/canvasjs @brutalimp +/types/cash @akvlko +/types/casperjs @jedmao +/types/catbox @AJamesPhillips +/types/cbor @pushplay +/types/ccap @taoqf +/types/chai/v2 @Bartvds, @AGBrown +/types/chai @Bartvds, @AGBrown, @olivr70, @mwistrand, @joshuakgoldberg, @shaunluttin +/types/chai-as-promised @jt000, @Kuniwak, @leonard-thieu +/types/chai-dom @mattlewis92 +/types/chai-enzyme @asvetliakov +/types/chai-fuzzy @Bartvds +/types/chai-http @Nemo157, @G1itcher, @CaselIT +/types/chai-json-schema @ulrichheiniger +/types/chai-oequal @mizunashi-mana +/types/chai-spies @kuzn-ilya +/types/chai-subset @AGBrown +/types/chai-xml @jedigo +/types/chalk @Diullei, @Bartvds, @nicojs +/types/change-emitter @iskandersierra +/types/chart.js @anuti, @FabienLavocat +/types/chartist @mtgibbs, @psimonski +/types/chartjs @Steve-Fenton, @FanaHOVA +/types/checkstyle-formatter @mhegazy +/types/checksum @rogierschouten +/types/cheerio @blittle, @wmaurer, @umarniz +/types/chroma-js/v0 @invliD +/types/chroma-js @invliD, @mpacholec +/types/chrome @matthewkimber, @otiai10, @couven92, @rreverser, @sreimer15 +/types/classnames @adidahiya, @JKillian, @mradamczyk, @marvinhagemeister +/types/cldrjs @RamanBut-Husaim +/types/clean-css @tkrotoff +/types/clean-stack @BendingBender +/types/clear-require @dan-j +/types/cli @kayahr +/types/cli-color @ChaosinaCan +/types/cli-table2 @mgroenhoff +/types/cliff @brynbellomy +/types/clipboard @impworks +/types/clipboard-js @markwongsk +/types/clipboardy @BendingBender +/types/clndr @jasperjn +/types/closure-compiler @mprobst +/types/cloud-env @Morfent +/types/cloudflare-apps @MartynasZilinskas +/types/co-body @geoffreak +/types/co-views @geoffreak +/types/code @prashaantt +/types/codemirror @mihailik +/types/codependency @morphatic +/types/coffeeify @tkQubo +/types/coinstring @mhegazy +/types/collections @scarabedore +/types/color/v0 @LKay +/types/color/v1 @LKay +/types/color @Airlun +/types/color-convert @Airlun +/types/color-name @Ailrun +/types/color-string @BendingBender, @danmarshall +/types/colorbrewer @mtraynham +/types/colors @Bartvds, @staeke +/types/com.darktalker.cordova.screenshot @akarienta +/types/combine-source-map @TeamworkGuy2 +/types/combined-stream @felixge, @tlaziuk +/types/combokeys @iclanton +/types/cometd @derekcicerone +/types/commander @alan-agius4 +/types/commangular @hiraash +/types/comment-json @Jason3S +/types/common-tags @zuzusik +/types/commonmark @nicojs, @leonard-thieu +/types/complex @AyaMorisawa +/types/compose-function @denis-sokolov +/types/compressible @BendingBender +/types/compression-webpack-plugin @dublicator +/types/concat-stream @jmarianer +/types/concaveman @DenisCarriere +/types/conf/v0 @SamVerschueren +/types/conf @SamVerschueren, @BendingBender +/types/confidence @jppellerin +/types/config @RWander +/types/configstore @ArcticLight +/types/connect-ensure-login @0x6368656174 +/types/connect-history-api-fallback @douglasduteil +/types/connect-mongo @Syati +/types/connect-redis @xstoudi, @morcerf +/types/connect-slashes @samherrmann +/types/connect-timeout @cyrilschumacher +/types/consolidate @soywiz, @theosherry, @nicolashenry +/types/consul @chrootsu +/types/content-disposition @bomret +/types/content-type @horiuchi +/types/contentful-resolve-response @antonkarsten +/types/contextjs @kernhanda +/types/continuation-local-storage @rath, @heycalmdown, @aboveyou00 +/types/convert-hrtime @BendingBender +/types/convert-source-map @mgroenhoff, @TeamworkGuy2 +/types/convict @Nemo157, @vesse, @elyscape +/types/cookie @pine613 +/types/cookie-parser @BendingBender +/types/cookie-signature @lith-light-g +/types/cookie_js @slawiko +/types/cookies @jkeylu +/types/copy-paste @SrTobi +/types/copy-text-to-clipboard @BendingBender +/types/cordova-ionic @hendrikmaus +/types/cordova-plugin-background-mode @Lordnoname +/types/cordova-plugin-badge @timbru31 +/types/cordova-plugin-ble-central @gjunge +/types/cordova-plugin-device-name @larrybahr +/types/cordova-plugin-keyboard @danmana +/types/cordova-plugin-ms-adal @KaiWalter +/types/cordova-plugin-native-keyboard @lobo87 +/types/cordova-plugin-ouralabs @Justin-Credible +/types/cordova-plugin-qrscanner @jab +/types/cordova-plugin-spinner @Justin-Credible +/types/cordova-plugin-statusbar @Xinkai +/types/cordova-plugin-x-socialsharing @larrybahr +/types/cordova_app_version_plugin @larrybahr +/types/cordovarduino @hendrikmaus +/types/core-decorators @tkqubo +/types/cote @makepost +/types/couchbase @maouida +/types/countdown @gjuchault +/types/country-list @iRoachie +/types/country-select-js @humrochagf +/types/cp-file @BendingBender +/types/cpy @mhegazy, @BendingBender +/types/cradle @panuhorsmalahti +/types/crc @YuJianrong +/types/create-error @tkrotoff +/types/createjs @evilangelist, @gyohk +/types/createjs-lib @evilangelist, @gyohk +/types/credential @phuvo +/types/credit-card-type @LKay +/types/cron @horiuchi +/types/cropperjs @stepancar +/types/croppie @connor4312 +/types/crossfilter @schmuli, @iebaker +/types/crossroads @diullei +/types/cryptiles @awendland +/types/cryptojs @giabao +/types/cson @stpettersens +/types/csprng @winksaville +/types/csrf @markis +/types/css @ilich +/types/css-font-loading-module @slikts +/types/css-modules @NeekSandhu +/types/cssbeautify @rictic +/types/csv-parse @davidm77, @obi-jan-kenobi +/types/csv-stringify @rogierschouten, @arjenvanderende +/types/csvtojson @EricByers, @wcarson +/types/cucumber/v1 @abraaoalves, @jan-molak, @isoung, @BendingBender +/types/cucumber @abraaoalves, @jan-molak, @isoung, @BendingBender +/types/currency-formatter @mhegazy +/types/custom-error-generator @thmiceli +/types/cwise @taoqf +/types/cwise-compiler @taoqf +/types/cwise-parser @taoqf +/types/cybozulabs-md5 @pine613 +/types/cypress @ghengeveld, @mikewoudenberg +/types/d3/v3 @gustavderdrache, @borisyankov +/types/d3 @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-array @gustavderdrache, @borisyankov, @tomwanzek +/types/d3-axis @tomwanzek, @gustavderdrache, @borisyankov +/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-contour @tomwanzek, @Ledragon +/types/d3-dispatch @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-drag @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-dsv @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-ease @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-force @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-format @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-geo @Ledragon, @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-hexbin @tomwanzek +/types/d3-hierarchy @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-hsv @arrayjam +/types/d3-interpolate @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-path @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-polygon @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-quadtree @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-queue @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-random @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-request @Ledragon, @gustavderdrache, @borisyankov, @tomwanzek +/types/d3-sankey @tomwanzek, @gustavderdrache +/types/d3-scale @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-scale-chromatic @Ledragon, @gustavderdrache, @borisyankov +/types/d3-selection @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-selection-multi @gustavderdrache, @borisyankov +/types/d3-shape @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-time @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-time-format @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-timer @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-tip @brspnnggrt +/types/d3-transition @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-voronoi @tomwanzek, @gustavderdrache, @borisyankov +/types/d3-zoom @tomwanzek, @gustavderdrache, @borisyankov +/types/d3.cloud.layout @hansrwindhoff +/types/d3.slider @lk-chen +/types/d3kit @morphatic +/types/d3pie @mc-petry +/types/dagre @qinfchen +/types/dagre-d3 @markwongsk +/types/dargs @BendingBender +/types/dat-gui @gyohk, @sonic3d, @rroylance +/types/data-driven @mrhen +/types/datadog-metrics @pushplay +/types/datatables.net @omidkrad +/types/datatables.net-buttons @SammyG4Free, @jimhartford +/types/datatables.net-fixedheader @szechyjs +/types/datatables.net-rowreorder @baywet +/types/datatables.net-select @szechyjs +/types/date.format.js @balrob +/types/dateformat @aicest +/types/db-migrate-base @nickiannone +/types/db.js @cgwrench +/types/dc @hansrwindhoff, @mtraynham +/types/deasync @Sicilica +/types/debessmann @vkorehov +/types/debounce @denis-sokolov +/types/debug @swook, @galtalmor, @zamb3zi +/types/decamelize @samverschueren +/types/decay @enaeseth +/types/decorum @dflor003 +/types/dedent @douglasduteil +/types/deep-assign @souldreamer +/types/deep-equal @remojansen +/types/deep-extend @rhysd +/types/deep-freeze @Bartvds, @aluanhaddad +/types/deep-freeze-strict @mhegazy +/types/deepmerge @marvinscharle +/types/define-lazy-prop @BendingBender +/types/defined @BendingBender +/types/del/v2 @AyaMorisawa +/types/del @AyaMorisawa, @BendingBender +/types/delaunator @DenisCarriere +/types/delay @BendingBender +/types/deoxxa-content-type @pine613 +/types/deployjava @cyrilschumacher +/types/detect-browser @rogierschouten +/types/detect-hover @thomastilkema +/types/detect-indent/v0 @Bartvds +/types/detect-indent @Bartvds, @BendingBender +/types/detect-it @thomastilkema +/types/detect-newline @BendingBender +/types/detect-passive-events @thomastilkema +/types/detect-pointer @thomastilkema +/types/detect-port @lith-light-g +/types/detect-touch-events @thomastilkema +/types/df-visible @Litee +/types/di-lite @dcrusader +/types/dir-resolve @andy-ms +/types/discontinuous-range @OiCMudkips +/types/disposable-email-domains @geoffreak +/types/doccookies @jonegerton +/types/dockerode @seikho, @nlaplante, @isac322 +/types/doctrine @rictic +/types/documentdb @NoelAbrahams, @brettferdosi, @ctstone, @yifanwu +/types/documentdb-server @lith-light-g +/types/dojo @vansimke +/types/dom-inputevent @diagramatics +/types/dom4 @adidahiya, @giladgray +/types/domo @Steve-Fenton +/types/dompurify @bazuzi +/types/domready @dotnetnerd +/types/dookie @swanest +/types/dot @ZombieHunter +/types/dot-object @nkovacic +/types/dot-prop/v2 @samverschueren +/types/dot-prop @samverschueren, @BendingBender +/types/dotdotdot @milanjaros +/types/dotenv/v2 @borekb, @enaeseth +/types/dotenv @borekb, @enaeseth +/types/dotenv-safe @krenor +/types/doublearray @mzsm +/types/doubleclick-gpt @johngeorgewright +/types/downloadjs @cwmoo740 +/types/draft-js @dmitryrogozhny, @eelco, @ghotiphud, @schwers, @michael-yx-wu, @willisplummer +/types/dragster @zskovacs +/types/dropboxjs @Steve-Fenton, @xperiments +/types/dropzone/v4 @nvivo, @outring, @renuo, @Hikariii +/types/dropzone @nvivo, @outring, @renuo, @Hikariii, @tedbcsgpro +/types/duplexer3 @BendingBender +/types/durandal @BlueSpire +/types/dw-bxslider-4 @namerci +/types/dymo-label-framework @thijskuipers +/types/easeljs @evilangelist +/types/easy-table @nikeee +/types/easystarjs @borundin +/types/ebongarde-root @Ebongarde +/types/echarts @xieisabug, @AntiMoron +/types/ecurve @mhegazy +/types/ejs-locals @jt000 +/types/ejson @shantanubhadoria +/types/elasticsearch @CasperSkydt, @bfsmith, @ddunkin, @pushplay, @mlamp, @ahmadferdous +/types/electron-config @mrfunkycold, @unindented +/types/electron-debug @unindented +/types/electron-devtools-installer @gamesmaxed +/types/electron-json-storage @stpettersens +/types/electron-notifications @djpereira +/types/electron-notify @djpereira +/types/electron-packager @cortopy +/types/electron-settings/v2 @leonard-thieu +/types/electron-settings @icopp +/types/electron-store @unindented +/types/electron-window-state @rhysd +/types/element-ready @BendingBender +/types/element-resize-event @rogierschouten, @plgregoire +/types/elm @thSoft +/types/email-addresses @johngrimsey +/types/email-templates @cyrilschumacher, @gurisko +/types/email-validator @paullessing +/types/ember/v1 @jedmao +/types/ember @jedmao, @bttf +/types/empower @vvakame +/types/emscripten @zakki, @periklis +/types/enhanced-resolve @e-cloud, @onigoetz +/types/ent @rogierschouten +/types/entities @aliceklipper +/types/env-to-object @MugeSo +/types/envify @tkQubo +/types/enzyme @MarianPalkus, @NoHomey, @jwbay, @huhuanming, @MartynasZilinskas, @thovden +/types/enzyme-to-json @joscha +/types/eonasdan-bootstrap-datetimepicker @ToastHawaii +/types/epiceditor @borisyankov +/types/epub @julien-c +/types/eq.js @stephenlautier +/types/es6-error @LKay +/types/es6-promise @vvakame +/types/es6-weak-map @pine +/types/escape-latex @olsio +/types/escodegen @simondel +/types/esprima @teppeis, @RReverser +/types/esprima-walk @tswaters +/types/esri-leaflet @strajuser +/types/esri-leaflet-geocoder @BendingBender +/types/estraverse @sanex3339 +/types/estree @RReverser +/types/etag @BendingBender +/types/ethjs-signer @doppio +/types/eureka-js-client @Schnillz +/types/evaporate @chrisrhoden +/types/event-loop-lag @rogierschouten +/types/event-to-promise @flying-sheep +/types/exceljs @rogierschouten, @alitaheri +/types/execa @douglasduteil, @BendingBender +/types/exit @Bartvds +/types/exit-hook @BendingBender +/types/exorcist @TeamworkGuy2 +/types/expect.js @teppeis +/types/expectations @vvakame +/types/expr-eval @connor4312 +/types/express-domain-middleware @hookclaw +/types/express-enforces-ssl @kevinstubbs +/types/express-fileupload @Naktibalda +/types/express-formidable @tdolsen +/types/express-graphql @isman-usoh, @nitintutlani +/types/express-handlebars @stpettersens, @yhaskell +/types/express-jwt @kacepe, @Sl1MBoy +/types/express-less @xieyubo +/types/express-mung @cyrilschumacher +/types/express-mysql-session @Akim95 +/types/express-partials @jt000 +/types/express-rate-limit @cyrilschumacher +/types/express-route-fs @kripod +/types/express-serve-static-core @19majkel94, @kacepe +/types/extend @reppners +/types/extended-listbox @code-chris +/types/extract-stack @BendingBender +/types/extract-text-webpack-plugin @flying-sheep, @katyo +/types/extract-zip @mizunashi-mana +/types/eyes @brynbellomy +/types/f1 @neolwc +/types/faker/v3 @Kuniwak +/types/faker @Kuniwak +/types/farbtastic @EnableSoftware +/types/fast-diff @djrenren +/types/fast-levenshtein @mizunashi-mana +/types/fast-stats @rogierschouten +/types/fastclick @shinnn +/types/favico.js @drowse314-dev-ymat +/types/fb @JoshStrobl +/types/fbemitter @kmxz +/types/featherlight @xStrom +/types/fecha @9y5 +/types/fetch-jsonp @tkrotoff +/types/fetch-mock @asvetliakov, @tamird, @merrywhether, @chrissinclair +/types/fetch.io @newraina +/types/ffi @loyd +/types/ffmpeg-static @iamstevetran +/types/ffprobe-static @iamstevetran +/types/fibers @soywiz +/types/figures @BendingBender +/types/file-exists @BendingBender +/types/file-saver @cyrilschumacher, @DaIgeb +/types/filenamify @rokt33r +/types/filesize @GiedriusGrabauskas +/types/fill-pdf @westy92 +/types/finalhandler @chrootsu +/types/finch @DavidSichau +/types/find-up @BendingBender +/types/findup-sync @Bartvds, @ngbrown +/types/fingerprintjs @zaneli +/types/fingerprintjs2 @curtstate +/types/firebase-token-generator @dotdotcommadot +/types/fixed-data-table @pepaar, @stephenjelfs +/types/flat @chrootsu +/types/flatpickr/v2 @UnwrittenFun +/types/flatpickr @UnwrittenFun, @rowellx68, @wagich +/types/flexslider @diullei +/types/flightplan @borislavjivkov +/types/flipsnap @kubosho, @gsino, @mayuki +/types/flot @burlandm, @Anticom +/types/flowjs @ryan10132 +/types/fluent-ffmpeg @DingWeizhe +/types/flux-standard-action @tkqubo +/types/fluxxor @mrk21 +/types/fm-websync @markusmauch +/types/fontfaceobserver @RandScullard +/types/fontoxml @rolandzwaga +/types/forever-monitor @shuntksh +/types/form-data @soywiz, @leonyu, @BendingBender +/types/form-serializer @flqw +/types/formidable @Nemo157 +/types/framebus @kbukum +/types/freeport @atd-schubert +/types/from @Bartvds +/types/from2 @BendingBender +/types/fromjs @glenndierckx +/types/fromnow @marinewater +/types/fs-ext @OguzhanE +/types/fs-extra @alan-agius4, @midknight41, @shiftkey +/types/fs-extra-promise @midknight41, @jasonswearingen, @HiromiShikata +/types/fs-extra-promise-es6 @midknight41, @jasonswearingen, @geoffreak, @HiromiShikata +/types/fs-mock @rogierschouten +/types/fs-promise @tarruda +/types/fsevents @BendingBender +/types/ftdomdelegate @dotnetnerd +/types/ftp @rogierschouten +/types/ftpd @rogierschouten +/types/fullcalendar/v1 @nestalk, @hasellcamargo +/types/fullcalendar @nestalk, @hasellcamargo, @panic175 +/types/fusioncharts @rohitkr, @shivarajkv +/types/fuzzaldrin @mhegazy +/types/fuzzaldrin-plus @jeancroy, @jkillian +/types/fuzzyset @lgrignon +/types/fxn @charrondev +/types/gae.channel.api @vvakame +/types/gapi @sgtfrankieboy +/types/gapi.analytics @gatsbimantico +/types/gapi.auth2 @flawless2011 +/types/gapi.calendar @tkrotoff +/types/gapi.drive @baxtersa +/types/gapi.pagespeedonline @sgtfrankieboy +/types/gapi.people @tkrotoff +/types/gapi.plus @tkrotoff +/types/gapi.translate @sgtfrankieboy +/types/gapi.urlshortener @sgtfrankieboy +/types/gapi.youtube @sgtfrankieboy +/types/gapi.youtubeanalytics @sgtfrankieboy +/types/gaussian @scttcper +/types/generic-functions @stpettersens +/types/generic-pool @jerray +/types/gently @bonnici +/types/geodesy @DenisCarriere, @HandyG52 +/types/geojson2osm @DenisCarriere +/types/geokdbush @DenisCarriere +/types/geolib @vvenegasv, @dotnetpart +/types/geometry-dom @nakakura +/types/geopattern @Gaelan +/types/get-node-dimensions @vincekovacs +/types/get-stdin @DanielRosenwasser +/types/get-stream @douglasduteil, @BendingBender +/types/getos @BendingBender +/types/gettext.js @jucrouzet +/types/gijgo @atatanasov +/types/giraffe @darthapo +/types/git @vvakame +/types/git-config @stpettersens +/types/gl-matrix @mattijskneppers, @tatchx +/types/gldatepicker @qcz +/types/glob-base @alan-agius4 +/types/glob-stream @Bartvds +/types/global-tunnel-ng @BendingBender +/types/globalize-compiler @iclanton +/types/globby @douglasduteil +/types/globule @durad +/types/gm @ChaosinaCan +/types/go @NorthwoodsSoftware +/types/google-apps-script @motemen +/types/google-cloud__storage @blove, @nbperry +/types/google-images @dolanmiu +/types/google-libphonenumber @leonyu +/types/google-map-react @honzabrecka +/types/google-maps @DeividasBakanas, @GiedriusGrabauskas +/types/google.feeds @RodneyJT +/types/google.fonts @danmarshall +/types/google.picker @grapswiz +/types/google.visualization @danludwig, @gmoore-sjcorg, @danmana, @mlcheng, @IvanBisultanov +/types/googlemaps @cgwrench, @nertzy, @xaolas, @mrmcnerd, @martincostello +/types/googlemaps.infobubble @Dashue +/types/got @BendingBender +/types/graceful-fs @Bartvds +/types/graham_scan @hberntsen +/types/graphene-pk11 @microshine +/types/graphql @TonyPythoneer, @calebmer, @intellix, @firede, @kepennar, @freiksenet +/types/graphql-date @enaeseth +/types/graphql-relay @arvitaly, @nitintutlani, @Grelinfo +/types/graphql-type-json @schfkt +/types/gravatar @denis-sokolov +/types/greasemonkey @kotas +/types/grecaptcha @DethAriel +/types/gregorian-calendar @cwalv +/types/griddle-react @hodavidhara +/types/gridstack @Sl1MBoy +/types/gsap @codebelt, @ProbablePrime +/types/gulp @GiedriusGrabauskas +/types/gulp-angular-templatecache @amanmahajan7 +/types/gulp-babel @AyaMorisawa +/types/gulp-batch @alvarollmenezes, @vizeke +/types/gulp-cache @aravindarun +/types/gulp-cached @tomc974 +/types/gulp-changed @tomc974 +/types/gulp-cheerio @tkQubo +/types/gulp-coffeeify @tkQubo +/types/gulp-coffeelint @tkQubo +/types/gulp-concat @k-kagurazaka +/types/gulp-connect @andrewiggins +/types/gulp-copy @aravindarun +/types/gulp-csso @tkrotoff +/types/gulp-debug @tkrotoff +/types/gulp-diff @ikatyang +/types/gulp-dtsm @AyaMorisawa +/types/gulp-espower @tkQubo +/types/gulp-file-include @DanielRosenwasser +/types/gulp-filter @tkrotoff +/types/gulp-flatten @k-kagurazaka +/types/gulp-gzip @tkQubo +/types/gulp-help @tkQubo +/types/gulp-help-doc @Mikhus +/types/gulp-html-replace @peterjuras +/types/gulp-htmlmin @tkrotoff +/types/gulp-inject @k-kagurazaka +/types/gulp-insert @shantmarouti +/types/gulp-install @peterjuras +/types/gulp-jade @berwyn +/types/gulp-jasmine-browser @tkrotoff +/types/gulp-json-editor @peterjuras +/types/gulp-jspm @peterjuras +/types/gulp-less @k-kagurazaka +/types/gulp-minify-css @k-kagurazaka +/types/gulp-minify-html @tkrotoff +/types/gulp-modernizr @remisery +/types/gulp-newer @tomc974 +/types/gulp-ng-annotate @tkQubo +/types/gulp-nodemon @tkQubo +/types/gulp-protractor @tkrotoff +/types/gulp-pug @remisery +/types/gulp-remember @tomc974 +/types/gulp-rev @tkrotoff +/types/gulp-rev-replace @tkrotoff +/types/gulp-ruby-sass @agnislav +/types/gulp-shell @tkqubo +/types/gulp-size @tkrotoff, @remisery +/types/gulp-strip-debug @peterjuras +/types/gulp-svg-sprite @tkqubo +/types/gulp-tsd @k-kagurazaka +/types/gulp-uglify @leonard-thieu +/types/gulp-useref @tkrotoff +/types/gulp-util @jedmao +/types/gulp-watch @tkrotoff +/types/gzip-size @plantain-00 +/types/h2o2 @AJamesPhillips +/types/halfred @dherges +/types/halogen @steller +/types/hammerjs @codler +/types/handsontable @panesofglass, @astegmaier +/types/hapi @AJamesPhillips +/types/hapi-auth-basic @AJamesPhillips +/types/har-format @micmro +/types/hard-rejection @BendingBender +/types/has-ansi @BendingBender +/types/hash-file @HiromiShikata +/types/hasha @BendgingBender +/types/hashmap @outring +/types/he @sedwards2009 +/types/heap @ryan10132 +/types/heatmap.js @lookuptable +/types/hellojs @PavelPZ, @vuorinem +/types/helmet @cyrilschumacher, @EvanHahn, @bluehatbrit +/types/heredatalens @denyo +/types/heremaps @denyo +/types/highcharts @AlbertOzimek, @hanssens +/types/highcharts-ng @scatcher +/types/highland @iwllyu +/types/highlight.js @sourrust +/types/hiredis @titan +/types/history/v2 @sergey-buturlakin, @ngbrown +/types/history/v3 @sergey-buturlakin, @ngbrown, @LKay +/types/history @sergey-buturlakin, @ngbrown, @rokoroku +/types/hjson @crunchie84 +/types/hls.js @jgainfort +/types/hoek @prashaantt +/types/homeworks @KennethanCeyer +/types/hopscotch @pimterry +/types/hpp @kryops +/types/html-minifier @tkrotoff +/types/html-pdf @westy92 +/types/html-webpack-plugin @deevus, @bumbleblym +/types/html-webpack-template @bumbleblym +/types/htmltojsx @basarat +/types/http-assert @jkeylu +/types/http-aws-es @marcogrcr +/types/http-codes @mhegazy +/types/http-errors @tkrotoff +/types/http-status-codes @JoshMcCullough +/types/http-string-parser @pine613 +/types/httperr @yortus +/types/hubot @dirk +/types/hubspot-pace @borislavjivkov +/types/humane @jmvrbanac +/types/humanize-plus @DenisCarriere +/types/humps @nikeee +/types/hyco-ws @mrcabellom +/types/hyperscript @spacejack +/types/i18n @SomaticIT, @FindQ +/types/i18next/v2 @mxl, @deerawan, @GiedriusGrabauskas +/types/i18next @mxl, @deerawan, @GiedriusGrabauskas +/types/i18next-browser-languagedetector/v0 @cyrilschumacher, @GiedriusGrabauskas +/types/i18next-browser-languagedetector @cyrilschumacher, @GiedriusGrabauskas +/types/i18next-express-middleware @cyrilschumacher +/types/i18next-node-fs-backend @cyrilschumacher +/types/i18next-sprintf-postprocessor @cyrilschumacher +/types/i18next-xhr-backend @jamuhl, @GiedriusGrabauskas +/types/i2c-bus @101100 +/types/ibm-mobilefirst @nacho4d +/types/ibm_db @agov +/types/icepick @ngbrown, @tobico +/types/icheck @qcz +/types/iconv-lite @poelstra +/types/ids @3fd +/types/iframe-resizer @arminbaljic +/types/ignite-ui @IgniteUI +/types/imagemagick @soywiz +/types/imagemagick-native @horiuchi +/types/imagesloaded @coldacid, @apexskier +/types/immutability-helper @seansfkelley +/types/in-range @DanielRosenwasser +/types/incremental-dom @basarat, @lanthaler, @vvakame +/types/indent-string @mhegazy +/types/inert @AJamesPhillips +/types/inflected @dsci +/types/inflection @shiwano +/types/inherits @chrootsu +/types/ini @marcinporebski +/types/iniparser @chrootsu +/types/inline-css @philipisapain +/types/inline-style-prefixer @ahz, @dpetrezselyova +/types/inquirer @tkQubo, @ppathan +/types/insert-module-globals @leonard-thieu +/types/integer @Morfent +/types/interact.js @dduugg, @adidahiya, @thasner +/types/internal-ip @BendingBender +/types/intl-messageformat @mhegazy +/types/intl-tel-input @leonard-thieu +/types/into-stream @BendingBender +/types/ion.rangeslider/v1 @dduugg +/types/ion.rangeslider @sixinli +/types/ip @codeanimal +/types/ip-regex @unindented +/types/irc @phillips1012 +/types/is @cabralRodrigo +/types/is-absolute-url @mhegazy +/types/is-alphanumerical @vutran +/types/is-archive @mhegazy +/types/is-array @pine +/types/is-binary-path @DanielRosenwasser +/types/is-compressed @mhegazy +/types/is-finite @mhegazy +/types/is-path-cwd @DanielRosenwasser +/types/is-path-in-cwd @mhegazy +/types/is-promise @DanielRosenwasser +/types/is-relative-url @mhegazy +/types/is-root @mhegazy +/types/is-root-path @mhegazy +/types/is-stream @me +/types/is-svg @BendingBender +/types/is-text-path @mhegazy +/types/is-url @RyotaMurohoshi +/types/is-url-superb @kryops +/types/is-windows @mizunashi-mana +/types/iso-3166-2 @sicilica +/types/isomorphic-fetch @toddlucas +/types/isotope-layout @avidenic +/types/istanbul @tkrotoff +/types/istanbul-middleware @hookclaw +/types/ityped @DanielRosenwasser +/types/ix.js @Igorbek +/types/jade @panuhorsmalahti +/types/jalaali-js @alitaheri +/types/japanese-holidays @syamatoo +/types/jasmine @theodorejb, @gmoothart, @lukas-zech-software +/types/jasmine-ajax @lgrignon +/types/jasmine-data_driven_tests @AnthonyMacKinnon +/types/jasmine-enzyme @bolatovumar +/types/jasmine-es6-promise-matchers @stephenlautier +/types/jasmine-expect @GeneralCss +/types/jasmine-given @shairez +/types/jasmine-matchers @Bartvds +/types/jasmine-promise-matchers @matthewjh +/types/jasmine_dom_matchers @devoto13 +/types/jasminewd2 @sjelin +/types/java @jimlloyd, @hrl7 +/types/java-applet @cyrilschumacher +/types/javascript-bignum @sandersn +/types/javascript-obfuscator @sanex3339 +/types/javascript-state-machine @mdocter, @MrBigDog2U, @samael65535, @taoqf +/types/jbinary @tbureck +/types/jcanvas @rogierschouten +/types/jdataview @RReverser +/types/jest/v16 @NoHomey, @jwbay +/types/jest @NoHomey, @jwbay, @asvetliakov, @alexjoverm, @epicallan, @ikatyang +/types/jest-matchers @joscha +/types/jfs @tlaziuk +/types/jimp @Jack-Works +/types/jjv @Nemo157 +/types/jjve @Nemo157 +/types/jmespath @pushplay +/types/jodata @cgwrench +/types/johnny-five @nakakura +/types/joi/v6 @Bartvds, @laurence-myers, @cglantschnig, @DavidBR-SW +/types/joi @Bartvds, @laurence-myers, @cglantschnig, @DavidBR-SW, @GaelMagnan, @ralekna, @schfkt +/types/joigoose @boothwhack +/types/jointjs @DenEwout, @CaselIT, @ChrisMoran +/types/jpm @github-account-because-they-want-it +/types/jpush-react-native @huhuanming +/types/jqrangeslider @qcz +/types/jquery/v1 @choffmeister, @Steve-Fenton, @Diullei, @tasoili, @jasons-novaleaf, @seanski, @Guuz, @ksummerlin, @basarat, @nwolverson, @derekcicerone, @AndrewGaspar, @seikichi, @benjaminjackman, @s093294, @JoshStrobl, @DickvdBrink, @King2500, @leonard-thieu +/types/jquery/v2 @choffmeister, @Steve-Fenton, @Diullei, @tasoili, @jasons-novaleaf, @seanski, @Guuz, @ksummerlin, @basarat, @nwolverson, @derekcicerone, @AndrewGaspar, @seikichi, @benjaminjackman, @s093294, @JoshStrobl, @DickvdBrink, @King2500, @leonard-thieu +/types/jquery @leonard-thieu, @choffmeister, @Steve-Fenton, @Diullei, @tasoili, @jasons-novaleaf, @seanski, @Guuz, @ksummerlin, @basarat, @nwolverson, @derekcicerone, @AndrewGaspar, @seikichi, @benjaminjackman, @s093294, @JoshStrobl, @DickvdBrink, @King2500 +/types/jquery-ajax-chain @humana-fragilitas +/types/jquery-alertable @stever +/types/jquery-backstretch @dkulyk +/types/jquery-editable-select @baywet +/types/jquery-fullscreen @bgrieder +/types/jquery-galleria @rimig +/types/jquery-handsontable @intelorca +/types/jquery-jsonrpcclient @Ty3uK +/types/jquery-mask-plugin @avidenic +/types/jquery-sortable @Seltzer +/types/jquery-steps @nickwph +/types/jquery-timeentry @marknadig +/types/jquery-truncate-html @abraaoalves +/types/jquery-urlparam @stpettersens +/types/jquery-validation-unobtrusive @EnableSoftware +/types/jquery.address @martinduparc, @mardaneus86 +/types/jquery.are-you-sure @jonegerton +/types/jquery.autosize @kingdango +/types/jquery.bbq @sunetos +/types/jquery.bootstrap.wizard @niemyjski +/types/jquery.clientsidelogging @diullei +/types/jquery.colorbox @gjunge +/types/jquery.customselect @adamcoulombe +/types/jquery.dropotron @cyrilschumacher +/types/jquery.dynatree @fdecampredon +/types/jquery.fancytree @alphaleonis, @abedi-ir +/types/jquery.flagstrap @felipedgarcia +/types/jquery.fullscreen @piraveen +/types/jquery.gridster @jbaldwin +/types/jquery.growl @yeganemehr +/types/jquery.jsignature @pjmagee +/types/jquery.leanmodal @FinelySliced +/types/jquery.notify @evil-shrike +/types/jquery.notifybar @zaneli +/types/jquery.noty @thelfensdrfer +/types/jquery.pjax @lijunle +/types/jquery.placeholder @majorsilence, @EnableSoftware +/types/jquery.pnotify @DavidSichau, @FUNExtreme +/types/jquery.postmessage @lijunle +/types/jquery.prettyphoto @pgaske +/types/jquery.qrcode @danmana +/types/jquery.rateit @gjunge +/types/jquery.rowgrid @vinayak-garg +/types/jquery.scrollto @nestalk +/types/jquery.simplemodal @ForNeVeR +/types/jquery.slimscroll @Promact +/types/jquery.soap @tigerxy +/types/jquery.sortelements @tbureck +/types/jquery.tagsmanager @vbortone +/types/jquery.tile @zaneli +/types/jquery.timepicker @anwarjaved +/types/jquery.tooltipster @leonard-thieu +/types/jquery.transit @MrBigDog2U +/types/jquery.ui.datetimepicker @dougajmcdonald +/types/jquery.ui.layout @Steve-Fenton, @drarmstr +/types/jquery.validation @fdecampredon, @johnnyreilly, @avidenic +/types/jquery.watermark @anwarjaved +/types/jqueryui @johnnyreilly +/types/js-base64 @DenisCarriere +/types/js-clipper @omni360 +/types/js-combinatorics @outring +/types/js-cookie @theodorejb +/types/js-data/v1 @reppners +/types/js-data @reppners +/types/js-data-angular @reppners +/types/js-data-http @reppners +/types/js-git @Bartvds +/types/js-md5 @mwmccarthy +/types/js-quantities @wrummler +/types/js-schema @marcinporebski, @roblabat +/types/js-search @guoyunhe +/types/js-to-java @skyitachi +/types/js-url @pine613 +/types/js-yaml @Bartvds, @sclausen +/types/jsbn @Evgenus +/types/jsdeferred @minodisk +/types/jsdom @leonard-thieu +/types/jsend @CaselIT +/types/jsesc @Bartvds +/types/jsforce @dolanmiu, @netes +/types/jshamcrest @dharkness +/types/jsmockito @shiver-me-timbers +/types/jsnox @DovydasNavickas +/types/json-merge-patch @senyaarseniy +/types/json-pointer @Bartvds +/types/json-rpc-ws @npenin +/types/json-schema @bcherny +/types/json2md @MartynasZilinskas +/types/jsoneditor @alejo90 +/types/jsonminify @no23reason +/types/jsonnet @hookclaw +/types/jsonp @surenkov +/types/jsonpath @horiuchi, @ikatyang +/types/jsonrpc-serializer @Akim95 +/types/jsonstream @Bartvds +/types/jsonwebtoken @SomaticIT, @danielheim +/types/jspdf @amberjs +/types/jsrender @zakki +/types/jssha @randombk, @SrTobi +/types/jstree @adaskothebeast +/types/jsts @StephaneAlie +/types/jsuite @darrenhillconsulting +/types/jsurl @agorshkov23 +/types/jszip @mzeiher +/types/jug @yevt +/types/jui @easylogic +/types/jui-core @easylogic +/types/jui-grid @easylogic +/types/jweixin @taoqf +/types/jwt-client @timoteoponce +/types/jwt-decode @GiedriusGrabauskas, @madsmadsen +/types/jwt-simple @kenfdev, @GaelMagnan +/types/kafka-node @bkim54, @sfrooster, @amiram +/types/karma @tkrotoff +/types/karma-chai @JayAndCatchFire +/types/karma-chai-sinon @vasek17 +/types/karma-coverage @tkrotoff +/types/karma-jasmine @michelsalib +/types/katex @mrand01 +/types/kcors @Xstoudi, @izayoiko +/types/kdbush @DenisCarriere +/types/kefir @AyaMorisawa +/types/keyboardjs @piranha771 +/types/keycloak-js @eppsilon +/types/keygrip @jkeylu +/types/keymaster @nitram509 +/types/keymirror @jfahrenkrug +/types/keypress.js @rcchen +/types/klaw @mceachen +/types/klaw-sync @shiftkey +/types/knex @tkQubo, @baronfel +/types/knockout @EnableSoftware +/types/knockout-amd-helpers @DavidSichau +/types/knockout-secure-binding @pine613 +/types/knockout-transformations @johnnyreilly, @Nemo157 +/types/knockout.mapper @BMeyerKC +/types/knockout.projections @johnnyreilly +/types/knockout.punches @johnnyreilly +/types/knockout.rx @Igorbek +/types/knockout.validation @danludwig +/types/knockout.viewmodel @oising +/types/knockstrap @adaskothebeast +/types/ko.plus @conficient +/types/koa @DavidCai1993, @jkeylu +/types/koa-cache-control @pe8ter +/types/koa-compose @jkeylu +/types/koa-hbs @mudkipme +/types/koa-helmet @me +/types/koa-json-error @mudkipme +/types/koa-logger @geoffreak +/types/koa-morgan @vesse +/types/koa-mount @amirsaber +/types/koa-passport @horiuchi +/types/koa-pug @Xstoudi +/types/koa-redis @nsimmons +/types/koa-route @migstopheles +/types/koa-send @pe8ter +/types/koa-session-minimal @longztian +/types/koa-websocket @me +/types/kolite @borisyankov +/types/konami.js @mareek +/types/kramed @tonicblue +/types/kss @giladgray +/types/kue @pc-jedi +/types/kuromoji @mzsm +/types/lab @prashaantt +/types/ladda @leemicw +/types/lambda-phi @elitechance +/types/later @jasond-s +/types/latinize @GiedriusGrabauskas +/types/launchpad @rictic +/types/lazy.js @Bartvds +/types/lazypipe @tomc974 +/types/leadfoot @theintern +/types/leaflet/v0 @rgripper +/types/leaflet @alejo90 +/types/leaflet-areaselect @awallat +/types/leaflet-curve @onikiienko +/types/leaflet-draw @matt-guest, @reblace +/types/leaflet-editable @dalie +/types/leaflet-fullscreen @DenisCarriere +/types/leaflet-imageoverlay-rotated @tkleinke +/types/leaflet-label @Nemo157 +/types/leaflet-polylinedecorator @soucekv +/types/leaflet-providers @BendingBender +/types/leaflet.awesome-markers/v0 @Odrin, @sebek64 +/types/leaflet.awesome-markers @sebek64 +/types/leaflet.fullscreen @wcomartin +/types/leaflet.gridlayer.googlemutant @ernest-rhinozeros +/types/leaflet.locatecontrol @DenisCarriere +/types/leaflet.markercluster @rimig +/types/leaflet.markercluster.layersupport @AsamK +/types/leaflet.pm @tkleinke +/types/less @thasner, @pranaygp +/types/leveldown @tarruda +/types/levelup @blittle, @tarruda +/types/levenshtein @geoffreak +/types/libpq @Lodin +/types/libxmljs @fdecampredon +/types/libxslt @alejo90 +/types/license-checker @rogierschouten +/types/lime-js @arthur-xavier +/types/line-by-line @etomsen +/types/line-reader @stpettersens +/types/linkify-it @praxxis +/types/linq4js @morrisjdev +/types/lls @borislavjivkov +/types/load-json-file @SamVerschueren +/types/loader-utils @Perlmint +/types/lobibox @itboy87 +/types/localforage-cordovasqlitedriver @thgreasi +/types/localized-countries @coderslagoon +/types/locate-path @me +/types/lockfile/v0 @Bartvds +/types/lockfile @Bartvds, @BendingBender +/types/lockr @droritos +/types/locutus @hookclaw +/types/lodash/v3 @bczengel, @chrootsu +/types/lodash @bczengel, @chrootsu, @stepancar, @ericanderson, @aj-r, @ailrun +/types/lodash-es @stephenlautier +/types/lodash-webpack-plugin @bumbleblym +/types/lodash.add @bczengel, @chrootsu, @stepancar +/types/lodash.after @bczengel, @chrootsu, @stepancar +/types/lodash.ary @bczengel, @chrootsu, @stepancar +/types/lodash.assign @bczengel, @chrootsu, @stepancar +/types/lodash.assignin @bczengel, @chrootsu, @stepancar +/types/lodash.assigninwith @bczengel, @chrootsu, @stepancar +/types/lodash.assignwith @bczengel, @chrootsu, @stepancar +/types/lodash.at @bczengel, @chrootsu, @stepancar +/types/lodash.attempt @bczengel, @chrootsu, @stepancar +/types/lodash.before @bczengel, @chrootsu, @stepancar +/types/lodash.bind @bczengel, @chrootsu, @stepancar +/types/lodash.bindall @bczengel, @chrootsu, @stepancar +/types/lodash.bindkey @bczengel, @chrootsu, @stepancar +/types/lodash.camelcase @bczengel, @chrootsu, @stepancar +/types/lodash.capitalize @bczengel, @chrootsu, @stepancar +/types/lodash.castarray @bczengel, @chrootsu, @stepancar +/types/lodash.ceil @bczengel, @chrootsu, @stepancar +/types/lodash.chunk @bczengel, @chrootsu, @stepancar +/types/lodash.clamp @bczengel, @chrootsu, @stepancar +/types/lodash.clone @bczengel, @chrootsu, @stepancar +/types/lodash.clonedeep @bczengel, @chrootsu, @stepancar +/types/lodash.clonedeepwith @bczengel, @chrootsu, @stepancar +/types/lodash.clonewith @bczengel, @chrootsu, @stepancar +/types/lodash.compact @bczengel, @chrootsu, @stepancar +/types/lodash.concat @bczengel, @chrootsu, @stepancar +/types/lodash.constant @bczengel, @chrootsu, @stepancar +/types/lodash.countby @bczengel, @chrootsu, @stepancar +/types/lodash.create @bczengel, @chrootsu, @stepancar +/types/lodash.curry @bczengel, @chrootsu, @stepancar +/types/lodash.curryright @bczengel, @chrootsu, @stepancar +/types/lodash.debounce @bczengel, @chrootsu, @stepancar +/types/lodash.deburr @bczengel, @chrootsu, @stepancar +/types/lodash.defaults @bczengel, @chrootsu, @stepancar +/types/lodash.defaultsdeep @bczengel, @chrootsu, @stepancar +/types/lodash.defer @bczengel, @chrootsu, @stepancar +/types/lodash.delay @bczengel, @chrootsu, @stepancar +/types/lodash.difference @bczengel, @chrootsu, @stepancar +/types/lodash.differenceby @bczengel, @chrootsu, @stepancar +/types/lodash.differencewith @bczengel, @chrootsu, @stepancar +/types/lodash.drop @bczengel, @chrootsu, @stepancar +/types/lodash.dropright @bczengel, @chrootsu, @stepancar +/types/lodash.droprightwhile @bczengel, @chrootsu, @stepancar +/types/lodash.dropwhile @bczengel, @chrootsu, @stepancar +/types/lodash.endswith @bczengel, @chrootsu, @stepancar +/types/lodash.eq @bczengel, @chrootsu, @stepancar +/types/lodash.escape @bczengel, @chrootsu, @stepancar +/types/lodash.escaperegexp @bczengel, @chrootsu, @stepancar +/types/lodash.every @bczengel, @chrootsu, @stepancar +/types/lodash.fill @bczengel, @chrootsu, @stepancar +/types/lodash.filter @bczengel, @chrootsu, @stepancar +/types/lodash.find @bczengel, @chrootsu, @stepancar +/types/lodash.findindex @bczengel, @chrootsu, @stepancar +/types/lodash.findkey @bczengel, @chrootsu, @stepancar +/types/lodash.findlast @bczengel, @chrootsu, @stepancar +/types/lodash.findlastindex @bczengel, @chrootsu, @stepancar +/types/lodash.findlastkey @bczengel, @chrootsu, @stepancar +/types/lodash.first @bczengel, @chrootsu, @stepancar +/types/lodash.flatmap @bczengel, @chrootsu, @stepancar +/types/lodash.flatten @bczengel, @chrootsu, @stepancar +/types/lodash.flattendeep @bczengel, @chrootsu, @stepancar +/types/lodash.flattendepth @bczengel, @chrootsu, @stepancar +/types/lodash.flip @bczengel, @chrootsu, @stepancar +/types/lodash.floor @bczengel, @chrootsu, @stepancar +/types/lodash.flow @bczengel, @chrootsu, @stepancar +/types/lodash.flowright @bczengel, @chrootsu, @stepancar +/types/lodash.foreach @bczengel, @chrootsu, @stepancar +/types/lodash.foreachright @bczengel, @chrootsu, @stepancar +/types/lodash.forin @bczengel, @chrootsu, @stepancar +/types/lodash.forinright @bczengel, @chrootsu, @stepancar +/types/lodash.forown @bczengel, @chrootsu, @stepancar +/types/lodash.forownright @bczengel, @chrootsu, @stepancar +/types/lodash.frompairs @bczengel, @chrootsu, @stepancar +/types/lodash.functions @bczengel, @chrootsu, @stepancar +/types/lodash.functionsin @bczengel, @chrootsu, @stepancar +/types/lodash.get @bczengel, @chrootsu, @stepancar +/types/lodash.groupby @bczengel, @chrootsu, @stepancar +/types/lodash.gt @bczengel, @chrootsu, @stepancar +/types/lodash.gte @bczengel, @chrootsu, @stepancar +/types/lodash.has @bczengel, @chrootsu, @stepancar +/types/lodash.hasin @bczengel, @chrootsu, @stepancar +/types/lodash.head @bczengel, @chrootsu, @stepancar +/types/lodash.identity @bczengel, @chrootsu, @stepancar +/types/lodash.includes @bczengel, @chrootsu, @stepancar +/types/lodash.indexof @bczengel, @chrootsu, @stepancar +/types/lodash.initial @bczengel, @chrootsu, @stepancar +/types/lodash.inrange @bczengel, @chrootsu, @stepancar +/types/lodash.intersection @bczengel, @chrootsu, @stepancar +/types/lodash.intersectionby @bczengel, @chrootsu, @stepancar +/types/lodash.intersectionwith @bczengel, @chrootsu, @stepancar +/types/lodash.invert @bczengel, @chrootsu, @stepancar +/types/lodash.invertby @bczengel, @chrootsu, @stepancar +/types/lodash.invoke @bczengel, @chrootsu, @stepancar +/types/lodash.invokemap @bczengel, @chrootsu, @stepancar +/types/lodash.isarguments @bczengel, @chrootsu, @stepancar +/types/lodash.isarray @bczengel, @chrootsu, @stepancar +/types/lodash.isarraybuffer @bczengel, @chrootsu, @stepancar +/types/lodash.isarraylike @bczengel, @chrootsu, @stepancar +/types/lodash.isarraylikeobject @bczengel, @chrootsu, @stepancar +/types/lodash.isboolean @bczengel, @chrootsu, @stepancar +/types/lodash.isbuffer @bczengel, @chrootsu, @stepancar +/types/lodash.isdate @bczengel, @chrootsu, @stepancar +/types/lodash.iselement @bczengel, @chrootsu, @stepancar +/types/lodash.isempty @bczengel, @chrootsu, @stepancar +/types/lodash.isequal @bczengel, @chrootsu, @stepancar +/types/lodash.isequalwith @bczengel, @chrootsu, @stepancar +/types/lodash.iserror @bczengel, @chrootsu, @stepancar +/types/lodash.isfinite @bczengel, @chrootsu, @stepancar +/types/lodash.isfunction @bczengel, @chrootsu, @stepancar +/types/lodash.isinteger @bczengel, @chrootsu, @stepancar +/types/lodash.islength @bczengel, @chrootsu, @stepancar +/types/lodash.ismap @bczengel, @chrootsu, @stepancar +/types/lodash.ismatch @bczengel, @chrootsu, @stepancar +/types/lodash.ismatchwith @bczengel, @chrootsu, @stepancar +/types/lodash.isnan @bczengel, @chrootsu, @stepancar +/types/lodash.isnative @bczengel, @chrootsu, @stepancar +/types/lodash.isnil @bczengel, @chrootsu, @stepancar +/types/lodash.isnull @bczengel, @chrootsu, @stepancar +/types/lodash.isnumber @bczengel, @chrootsu, @stepancar +/types/lodash.isobject @bczengel, @chrootsu, @stepancar +/types/lodash.isobjectlike @bczengel, @chrootsu, @stepancar +/types/lodash.isplainobject @bczengel, @chrootsu, @stepancar +/types/lodash.isregexp @bczengel, @chrootsu, @stepancar +/types/lodash.issafeinteger @bczengel, @chrootsu, @stepancar +/types/lodash.isset @bczengel, @chrootsu, @stepancar +/types/lodash.isstring @bczengel, @chrootsu, @stepancar +/types/lodash.issymbol @bczengel, @chrootsu, @stepancar +/types/lodash.istypedarray @bczengel, @chrootsu, @stepancar +/types/lodash.isundefined @bczengel, @chrootsu, @stepancar +/types/lodash.isweakmap @bczengel, @chrootsu, @stepancar +/types/lodash.isweakset @bczengel, @chrootsu, @stepancar +/types/lodash.iteratee @bczengel, @chrootsu, @stepancar +/types/lodash.join @bczengel, @chrootsu, @stepancar +/types/lodash.kebabcase @bczengel, @chrootsu, @stepancar +/types/lodash.keyby @bczengel, @chrootsu, @stepancar +/types/lodash.keys @bczengel, @chrootsu, @stepancar +/types/lodash.keysin @bczengel, @chrootsu, @stepancar +/types/lodash.last @bczengel, @chrootsu, @stepancar +/types/lodash.lastindexof @bczengel, @chrootsu, @stepancar +/types/lodash.lowercase @bczengel, @chrootsu, @stepancar +/types/lodash.lowerfirst @bczengel, @chrootsu, @stepancar +/types/lodash.lt @bczengel, @chrootsu, @stepancar +/types/lodash.lte @bczengel, @chrootsu, @stepancar +/types/lodash.map @bczengel, @chrootsu, @stepancar +/types/lodash.mapkeys @bczengel, @chrootsu, @stepancar +/types/lodash.mapvalues @bczengel, @chrootsu, @stepancar +/types/lodash.matches @bczengel, @chrootsu, @stepancar +/types/lodash.matchesproperty @bczengel, @chrootsu, @stepancar +/types/lodash.max @bczengel, @chrootsu, @stepancar +/types/lodash.maxby @bczengel, @chrootsu, @stepancar +/types/lodash.mean @bczengel, @chrootsu, @stepancar +/types/lodash.meanby @bczengel, @chrootsu, @stepancar +/types/lodash.memoize @bczengel, @chrootsu, @stepancar +/types/lodash.merge @bczengel, @chrootsu, @stepancar +/types/lodash.mergewith @bczengel, @chrootsu, @stepancar +/types/lodash.method @bczengel, @chrootsu, @stepancar +/types/lodash.methodof @bczengel, @chrootsu, @stepancar +/types/lodash.min @bczengel, @chrootsu, @stepancar +/types/lodash.minby @bczengel, @chrootsu, @stepancar +/types/lodash.mixin @bczengel, @chrootsu, @stepancar +/types/lodash.negate @bczengel, @chrootsu, @stepancar +/types/lodash.noop @bczengel, @chrootsu, @stepancar +/types/lodash.now @bczengel, @chrootsu, @stepancar +/types/lodash.nth @bczengel, @chrootsu, @stepancar +/types/lodash.ntharg @bczengel, @chrootsu, @stepancar +/types/lodash.omit @bczengel, @chrootsu, @stepancar +/types/lodash.omitby @bczengel, @chrootsu, @stepancar +/types/lodash.once @bczengel, @chrootsu, @stepancar +/types/lodash.orderby @bczengel, @chrootsu, @stepancar +/types/lodash.over @bczengel, @chrootsu, @stepancar +/types/lodash.overargs @bczengel, @chrootsu, @stepancar +/types/lodash.overevery @bczengel, @chrootsu, @stepancar +/types/lodash.oversome @bczengel, @chrootsu, @stepancar +/types/lodash.pad @bczengel, @chrootsu, @stepancar +/types/lodash.padend @bczengel, @chrootsu, @stepancar +/types/lodash.padstart @bczengel, @chrootsu, @stepancar +/types/lodash.parseint @bczengel, @chrootsu, @stepancar +/types/lodash.partial @bczengel, @chrootsu, @stepancar +/types/lodash.partialright @bczengel, @chrootsu, @stepancar +/types/lodash.partition @bczengel, @chrootsu, @stepancar +/types/lodash.pick @bczengel, @chrootsu, @stepancar +/types/lodash.pickby @bczengel, @chrootsu, @stepancar +/types/lodash.property @bczengel, @chrootsu, @stepancar +/types/lodash.propertyof @bczengel, @chrootsu, @stepancar +/types/lodash.pull @bczengel, @chrootsu, @stepancar +/types/lodash.pullall @bczengel, @chrootsu, @stepancar +/types/lodash.pullallby @bczengel, @chrootsu, @stepancar +/types/lodash.pullat @bczengel, @chrootsu, @stepancar +/types/lodash.random @bczengel, @chrootsu, @stepancar +/types/lodash.range @bczengel, @chrootsu, @stepancar +/types/lodash.rangeright @bczengel, @chrootsu, @stepancar +/types/lodash.rearg @bczengel, @chrootsu, @stepancar +/types/lodash.reduce @bczengel, @chrootsu, @stepancar +/types/lodash.reduceright @bczengel, @chrootsu, @stepancar +/types/lodash.reject @bczengel, @chrootsu, @stepancar +/types/lodash.remove @bczengel, @chrootsu, @stepancar +/types/lodash.repeat @bczengel, @chrootsu, @stepancar +/types/lodash.replace @bczengel, @chrootsu, @stepancar +/types/lodash.rest @bczengel, @chrootsu, @stepancar +/types/lodash.result @bczengel, @chrootsu, @stepancar +/types/lodash.reverse @bczengel, @chrootsu, @stepancar +/types/lodash.round @bczengel, @chrootsu, @stepancar +/types/lodash.sample @bczengel, @chrootsu, @stepancar +/types/lodash.samplesize @bczengel, @chrootsu, @stepancar +/types/lodash.set @bczengel, @chrootsu, @stepancar +/types/lodash.setwith @bczengel, @chrootsu, @stepancar +/types/lodash.shuffle @bczengel, @chrootsu, @stepancar +/types/lodash.size @bczengel, @chrootsu, @stepancar +/types/lodash.slice @bczengel, @chrootsu, @stepancar +/types/lodash.snakecase @bczengel, @chrootsu, @stepancar +/types/lodash.some @bczengel, @chrootsu, @stepancar +/types/lodash.sortby @bczengel, @chrootsu, @stepancar +/types/lodash.sortedindex @bczengel, @chrootsu, @stepancar +/types/lodash.sortedindexby @bczengel, @chrootsu, @stepancar +/types/lodash.sortedindexof @bczengel, @chrootsu, @stepancar +/types/lodash.sortedlastindex @bczengel, @chrootsu, @stepancar +/types/lodash.sortedlastindexby @bczengel, @chrootsu, @stepancar +/types/lodash.sortedlastindexof @bczengel, @chrootsu, @stepancar +/types/lodash.sorteduniq @bczengel, @chrootsu, @stepancar +/types/lodash.sorteduniqby @bczengel, @chrootsu, @stepancar +/types/lodash.split @bczengel, @chrootsu, @stepancar +/types/lodash.spread @bczengel, @chrootsu, @stepancar +/types/lodash.startcase @bczengel, @chrootsu, @stepancar +/types/lodash.startswith @bczengel, @chrootsu, @stepancar +/types/lodash.subtract @bczengel, @chrootsu, @stepancar +/types/lodash.sum @bczengel, @chrootsu, @stepancar +/types/lodash.sumby @bczengel, @chrootsu, @stepancar +/types/lodash.tail @bczengel, @chrootsu, @stepancar +/types/lodash.take @bczengel, @chrootsu, @stepancar +/types/lodash.takeright @bczengel, @chrootsu, @stepancar +/types/lodash.takerightwhile @bczengel, @chrootsu, @stepancar +/types/lodash.takewhile @bczengel, @chrootsu, @stepancar +/types/lodash.template @bczengel, @chrootsu, @stepancar +/types/lodash.throttle @bczengel, @chrootsu, @stepancar +/types/lodash.times @bczengel, @chrootsu, @stepancar +/types/lodash.toarray @bczengel, @chrootsu, @stepancar +/types/lodash.tointeger @bczengel, @chrootsu, @stepancar +/types/lodash.tolength @bczengel, @chrootsu, @stepancar +/types/lodash.tolower @bczengel, @chrootsu, @stepancar +/types/lodash.tonumber @bczengel, @chrootsu, @stepancar +/types/lodash.topairs @bczengel, @chrootsu, @stepancar +/types/lodash.topairsin @bczengel, @chrootsu, @stepancar +/types/lodash.topath @bczengel, @chrootsu, @stepancar +/types/lodash.toplainobject @bczengel, @chrootsu, @stepancar +/types/lodash.tosafeinteger @bczengel, @chrootsu, @stepancar +/types/lodash.tostring @bczengel, @chrootsu, @stepancar +/types/lodash.toupper @bczengel, @chrootsu, @stepancar +/types/lodash.transform @bczengel, @chrootsu, @stepancar +/types/lodash.trim @bczengel, @chrootsu, @stepancar +/types/lodash.trimend @bczengel, @chrootsu, @stepancar +/types/lodash.trimstart @bczengel, @chrootsu, @stepancar +/types/lodash.truncate @bczengel, @chrootsu, @stepancar +/types/lodash.unary @bczengel, @chrootsu, @stepancar +/types/lodash.unescape @bczengel, @chrootsu, @stepancar +/types/lodash.union @bczengel, @chrootsu, @stepancar +/types/lodash.unionby @bczengel, @chrootsu, @stepancar +/types/lodash.unionwith @bczengel, @chrootsu, @stepancar +/types/lodash.uniq @bczengel, @chrootsu, @stepancar +/types/lodash.uniqby @bczengel, @chrootsu, @stepancar +/types/lodash.uniqueid @bczengel, @chrootsu, @stepancar +/types/lodash.uniqwith @bczengel, @chrootsu, @stepancar +/types/lodash.unset @bczengel, @chrootsu, @stepancar +/types/lodash.unzip @bczengel, @chrootsu, @stepancar +/types/lodash.unzipwith @bczengel, @chrootsu, @stepancar +/types/lodash.update @bczengel, @chrootsu, @stepancar +/types/lodash.uppercase @bczengel, @chrootsu, @stepancar +/types/lodash.upperfirst @bczengel, @chrootsu, @stepancar +/types/lodash.values @bczengel, @chrootsu, @stepancar +/types/lodash.valuesin @bczengel, @chrootsu, @stepancar +/types/lodash.without @bczengel, @chrootsu, @stepancar +/types/lodash.words @bczengel, @chrootsu, @stepancar +/types/lodash.wrap @bczengel, @chrootsu, @stepancar +/types/lodash.xor @bczengel, @chrootsu, @stepancar +/types/lodash.xorby @bczengel, @chrootsu, @stepancar +/types/lodash.xorwith @bczengel, @chrootsu, @stepancar +/types/lodash.zip @bczengel, @chrootsu, @stepancar +/types/lodash.zipobject @bczengel, @chrootsu, @stepancar +/types/lodash.zipobjectdeep @bczengel, @chrootsu, @stepancar +/types/lodash.zipwith @bczengel, @chrootsu, @stepancar +/types/log-symbols @BendingBender +/types/log-update @BendingBender +/types/loggly @rmartone, @geoffreak +/types/logrotate-stream @rogierschouten +/types/lokijs @TeamworkGuy2 +/types/lolex @Nemo157, @joshuakgoldberg +/types/lorem-ipsum @durad +/types/lory.js @milkisevil +/types/loud-rejection @BendingBender +/types/lovefield @freshp86 +/types/lowdb @typicode +/types/lowlight @NoHomey +/types/lru-cache @Bartvds +/types/lscache @Chris-Martinezz +/types/ltx @PJakcson +/types/luaparse @stpettersens +/types/lunr @sebastian-lenz +/types/lwip @AyaMorisawa +/types/lz-string @M0ns1gn0r +/types/magic-number @stpettersens +/types/magnet-uri @tlaziuk +/types/maildev @zbarbuto +/types/mailgen @vothanhkiet, @jordanfarrer +/types/main-bower-files @k-kagurazaka +/types/make-dir @ikatyang, @BendingBender +/types/maker.js @danmarshall +/types/map-obj @BendingBender +/types/mapbox-gl @dobrud +/types/mapbox__shelf-pack @Perlmint +/types/markdown-it-anchor @seryl +/types/markdown-it-container @hronex +/types/marked @worr, @BendingBender +/types/marker-animate-unobtrusive @viskin +/types/markitup @drillbits +/types/masonry-layout @m-a-wilson, @warriorrocker +/types/massive @swissspidy, @clarenceh +/types/match-media-mock @asvetliakov +/types/material-ui @ngbrown, @theigor, @alitaheri, @herrmanno, @DaIgeb, @allienna, @schlesingermatthias, @InsidersByte, @artyomsv, @dan-j, @minodisk +/types/materialize-css @eriklieben, @leonyu, @SinghSukhdeep +/types/math3d @laszlojakab +/types/mathjax @rolandzwaga +/types/maxmind @geoffreak +/types/mcustomscrollbar @flurg +/types/md5 @arcdev1, @jprogrammer +/types/mdns @reppners +/types/media-typer @BendingBender +/types/medium-editor @keika299 +/types/mem @SamVerschueren +/types/memcached @KentarouTakeda +/types/memoizee @juanpicado +/types/memory-cache @jedigo +/types/memory-fs @e-cloud +/types/memwatch-next @cyrilschumacher +/types/meow @KnisterPeter +/types/merge-stream @k-kagurazaka +/types/merge2 @tkrotoff, @smac89 +/types/meshblu @fnipo +/types/mess @Nemo157 +/types/messenger @derekcicerone +/types/meteor @barbatus, @fullflavedave, @orefalo, @dagatsoin, @birkskyum, @ardatan, @stefanholzapfel +/types/meteor-accounts-phone @DAB0mB +/types/meteor-collection-hooks @twastvedt +/types/meteor-jboulhous-dev @vangorra +/types/meteor-persistent-session @vangorra +/types/meteor-prime8consulting-oauth2 @vangorra +/types/meteor-publish-composite @vangorra +/types/meteor-roles @vangorra +/types/methods @cprecioso +/types/metric-suffix @davidm77 +/types/micro @kaoDev +/types/microgears @marcusdb +/types/micromatch @glen-84 +/types/microrouter @mathieudutour +/types/microsoftteams @OfficeDev +/types/microtime @vincekovacs +/types/milkcocoa @odangosan +/types/mime @jedigo +/types/mime-db @AJamesPhillips +/types/mime-types @Perlmint +/types/mimos @AJamesPhillips +/types/mina @lhk, @mattanja, @kant2002 +/types/minimatch @shantmarouti +/types/minimist @Bartvds, @Necroskillz, @kamranayub +/types/mithril @spacejack, @andraaspar, @isiahmeadows +/types/mithril-global @spacejack, @isiahmeadows +/types/mitm @alejo90 +/types/mkdirp @Bartvds +/types/mkpath @optical +/types/mocha @otiai10, @jt000, @enlight +/types/mocha-phantomjs @ErikSchierboom +/types/mock-fs @Nemo157, @tkqubo +/types/mock-raf @djpereira +/types/mock-require @djpereira +/types/mockdate @brunolm +/types/mockery @jt000 +/types/modernizr @nhardy +/types/modesl @neeschit +/types/moment-duration-format @SwintDC, @TwoStone, @leonard-thieu +/types/moment-jalaali @alitaheri +/types/moment-range @Burgov, @wilgert, @franjuan, @MartynasZilinskas +/types/moment-round @jacobbaskin +/types/moment-timezone @michelsalib +/types/mongodb @CaselIT, @alanmarcell, @kikar +/types/mongoose @sindrenm, @lukasz-zak +/types/mongoose-auto-increment @AyaMorisawa +/types/mongoose-deep-populate @AyaMorisawa +/types/mongoose-mock @jt000 +/types/mongoose-simple-random @me +/types/mongoose-unique-validator @stevehipwell +/types/moo @deltaidea +/types/morgan @staticfunction +/types/morris.js @mareek, @sindilevich +/types/mousetrap @qcz +/types/move-concurrently @mgroenhoff +/types/moviedb @basarat, @0x6368656174 +/types/mqtt @PekkaPLeppanen +/types/msgpack-lite @efokschaner +/types/msnodesql @SomaticIT +/types/msportalfx-test @julioct +/types/mssql @jaminfarr, @buzinas +/types/mu2 @jedigo +/types/multer @jt000, @DavidBR-SW, @mxl +/types/multi-typeof @mhegazy +/types/multimatch @stephenlautier +/types/multiparty @kenfdev +/types/murmurhash-js @cvle +/types/murmurhash3js @dlee-nvisia +/types/musicmetadata @Xstoudi +/types/mysql @wjohnsto, @kacepe +/types/mz @ThomasHickman +/types/n3 @phreed +/types/nano @timjacobi +/types/nanomsg @titan +/types/nanoscroller @zihark17 +/types/natsort @mgroenhoff +/types/natural-sort @a-morales +/types/navigation @grahammendick +/types/navigation-react @grahammendick +/types/navigo @aersamkull +/types/nblas @erikgerrits +/types/nconf @jedigo, @jmthibault +/types/ndarray @taoqf +/types/nearley @deltaidea +/types/nedb @reppners +/types/nedb-logger @thisboyiscrazy +/types/needle/v0 @bigsan +/types/needle @bigsan, @nikeee +/types/neo4j @cyrilschumacher +/types/nes @NoHomey +/types/next @dru89 +/types/next-redux-wrapper @stevegeek +/types/ng-command @stephenlautier +/types/ng-cordova @ksachdeva +/types/ng-dialog @stephenlautier +/types/ng-facebook @Crevil +/types/ng-file-upload @johnnyreilly, @thewarpaint +/types/ng-flow @ryan10132 +/types/ng-grid @smithkl42, @rolandzwaga, @kentcooper +/types/ng-i18next @cyrilschumacher +/types/ng-notify @nzamosenchuk +/types/ng-stomp @lpotapczuk +/types/ngbootbox @stpettersens +/types/ngeohash @erkie +/types/ngkookies @martinmcwhorter +/types/ngmap @nkovacic +/types/ngprogress @martinmcwhorter +/types/ngprogress-lite @LukeForder +/types/ngreact @velveret +/types/ngstorage @kubiq +/types/ngtoaster @btesser +/types/ngwysiwyg @patrick-mackay +/types/nightmare @samyang-au +/types/noble @swook, @wind-rider, @shantanubhadoria, @lukel99, @bioball +/types/nock @bonnici, @horiuchi +/types/nodal @charrondev +/types/node/v6 @WilcoBakker +/types/node/v7 @parambirs, @RobDesideri, @tellnes, @WilcoBakker, @Tyriar +/types/node @parambirs, @RobDesideri, @tellnes, @WilcoBakker, @octo-sniffle, @smac89, @Flarna, @mwiktorczyk, @wwwy3y3, @Tyriar, @DeividasBakanas +/types/node-7z @erkie +/types/node-array-ext @Beng89 +/types/node-cache @chrootsu, @dthunell +/types/node-calendar @luzianz +/types/node-common-errors @icopp +/types/node-dogstatsd @chrisbobo +/types/node-emoji @jonestristand +/types/node-feedparser @cortopy +/types/node-fetch @torstenwerner +/types/node-fibers @caryhaynie +/types/node-forge @westy92, @flynetworks, @a-k-g +/types/node-gcm @horiuchi +/types/node-getopt @kcauchy +/types/node-hid @mhegazy, @ert78gb +/types/node-hue-api @fjmorel +/types/node-int64 @x3cion +/types/node-ipc @arvitaly +/types/node-jsfl-runner @mrand01 +/types/node-json-db @kuzn-ilya +/types/node-mysql-wrapper @kataras +/types/node-notifier @tkQubo +/types/node-pg-migrate @bradleyayers +/types/node-polyglot @timjk +/types/node-powershell @rodrigoff +/types/node-ral @ssddi456 +/types/node-rsa @alitaheri +/types/node-schedule @cyrilschumacher, @flowpl +/types/node-slack @tkQubo +/types/node-snap7 @heilingbrunner +/types/node-sprite-generator @Perlmint +/types/node-static @Morfent +/types/node-statsd @alexturek, @convoyinc +/types/node-telegram-bot-api @ammuench +/types/node-uuid @jeffmay +/types/node-validator @kengorab +/types/node-vault @YuJianrong +/types/node-waves @stephenlautier +/types/node-wit @julienduf +/types/node-xmpp-client @PJakcson +/types/node-xmpp-core @PJakcson +/types/nodegit @dolanmiu +/types/nodeunit @jedigo +/types/noisejs @izmhr +/types/nomnom @panopticoncentral +/types/nopt @jbondc +/types/normalize-url @odin3, @BendingBender +/types/notie @mateusdemboski +/types/notify @hellochar +/types/notify.js @bahman616 +/types/notifyjs @soundTricker +/types/nouislider/v7 @acoreyj +/types/nouislider/v8 @bleuarg +/types/nouislider @bleuarg, @lagaffe +/types/novnc-core @BendingBender +/types/npm-package-arg @mgroenhoff +/types/ns-api @Archcry +/types/nslog @unindented +/types/number-is-nan @mhegazy +/types/number-to-words @frederickfogerty +/types/numjs @taoqf +/types/nw.gui @xperiments +/types/nw.js @alirdn +/types/o.js @IceOnFire, @bradzacher, @janhommes +/types/oauth.js @nobuoka +/types/oauth2-server @vangorra, @cirick +/types/oauth2orize @heycalmdown, @stevehipwell +/types/object-assign @chbrown +/types/object-diff @rogierschouten +/types/object-refs @3fd +/types/oboe @optical +/types/oclazyload @rolandzwaga +/types/odata @janhommes +/types/ofe @Morfent +/types/office-js @OfficeDev, @LanceEA +/types/offline-js @cgwrench +/types/oibackoff @geoffreak +/types/oidc-token-manager @rosieks +/types/once @denis-sokolov +/types/onetime @BendingBender +/types/onoff @marcel-ernst +/types/open @Bartvds +/types/opener @tikurahul +/types/openjscad @danmarshall +/types/openlayers/v2 @bolhovsky +/types/openlayers/v3 @osechet, @matthiasdailey-ccri +/types/openlayers @osechet, @ganlhi +/types/opentok @westy92 +/types/opentype.js @danmarshall +/types/opn @shinnn, @SomaticIT +/types/optics-agent @crevil +/types/optimist @soywiz, @chbrown +/types/optimize-css-assets-webpack-plugin @odnamrataizem +/types/ora/v0 @screendriver +/types/ora @screendriver, @BendingBender +/types/oracledb @Bigous +/types/orchestrator @tkQubo, @TeamworkGuy2 +/types/orderedmap @bradleyayers +/types/orientjs @saeedtabrizi +/types/os-homedir @mhegazy +/types/os-locale/v1 @AyaMorisawa, @BendingBender +/types/os-locale @AyaMorisawa, @BendingBender +/types/os-name @BendingBender +/types/os-tmpdir @mhegazy +/types/osmosis @jurajkocan +/types/osmtogeojson @tkqubo +/types/owlcarousel @dpiatkowski +/types/p-all @BendingBender +/types/p-any @BendingBender +/types/p-cancelable @BendingBender +/types/p-debounce @BendingBender +/types/p-defer @SamVerschueren +/types/p-do-whilst @BendingBender +/types/p-each-series @BendingBender +/types/p-event @BendingBender +/types/p-every @BendingBender +/types/p-lazy @BendingBender +/types/p-limit @BendingBender +/types/p-locate @BendingBender +/types/p-log @BendingBender +/types/p-map @BendingBender +/types/p-map-series @BendingBender +/types/p-one @BendingBender +/types/p-queue @BendingBender, @evanshortiss +/types/p-reduce @BendingBender +/types/p-reflect @BendingBender +/types/p-retry @BendingBender +/types/p-series @BendingBender +/types/p-settle @natesilva +/types/p-some @BendingBender +/types/p-tap @BendingBender +/types/p-throttle @BendingBender +/types/p-timeout @BendingBender +/types/p-try @BendingBender +/types/p-wait-for @BendingBender +/types/p-whilst @BendingBender +/types/p2 @clark-stevenson +/types/packery @piraveen, @hanssens +/types/pad @mhegazy +/types/paho-mqtt @amikhalev +/types/pako @cappellin, @calebegg +/types/papaparse @torpedro, @rainshen49 +/types/parse @dpoetzsch +/types/parse-git-config @leonard-thieu +/types/parse-glob @glen-84 +/types/parse-mockdb @dpoetzsch +/types/parse-torrent @niieani, @tlaziuk +/types/parse-torrent-file @tlaziuk +/types/parse-unit @Jack-Works +/types/parseurl @bomret +/types/parsimmon @Bartvds, @mizunashi-mana, @bcherny, @bvanreeven, @leonard-thieu +/types/passport @enaeseth +/types/passport-anonymous @0x6368656174 +/types/passport-beam @AtlasDev +/types/passport-discord @kzay +/types/passport-facebook @staticfunction, @lucasmacosta +/types/passport-facebook-token @rmartone +/types/passport-github @yasupeke +/types/passport-google-oauth @staticfunction +/types/passport-google-oauth2 @bluehatbrit +/types/passport-http @krizalys +/types/passport-http-bearer @isman-usoh +/types/passport-local @SomaticIT +/types/passport-oauth2-client-password @akaNightmare +/types/passport-steam @kzay +/types/passport-twitter @staticfunction +/types/passport-unique-token @briman0094, @SomaticIT +/types/password-hash-and-salt @alitaheri +/types/path-exists/v1 @shiwano +/types/path-exists @shiwano, @BendingBender +/types/path-is-absolute @mhegazy +/types/pathfinding @BNedry +/types/payment @apare +/types/paypal-cordova-plugin @Justin-Credible +/types/paypal-rest-sdk @trainerbill +/types/pbf @cschwarz +/types/pdfkit @erichillah +/types/pebblekitjs @makotokw +/types/peerjs @nakakura +/types/pegjs @vvakame, @SrTobi, @siegebell +/types/pem @tony19, @DethAriel +/types/perfect-scrollbar @aicest, @CarbonAtom +/types/persona @Nycto +/types/pet-finder-api @me +/types/pg-connection-string @bradleyayers +/types/pg-pool @aleung +/types/pg-query-stream @asmarques +/types/pg-types @waratuman +/types/pgwmodal @pine613 +/types/phantomcss @abauzac +/types/phantomjs @jedhunsaker, @keesey +/types/phoenix @mciastek +/types/phone @DxCx +/types/phone-formatter @westy92 +/types/phonegap @DickvdBrink +/types/phonegap-facebook-plugin @Justin-Credible +/types/phonegap-nfc @michaeldesigaud +/types/phonegap-plugin-push @fredgalvao, @larrybahr +/types/phonon @kserin +/types/photoswipe @hellochar +/types/physijs @gyohk +/types/pi-spi @marcel-ernst +/types/pick-weight @rsxdalv +/types/pickadate @leonard-thieu +/types/pify @samverschueren +/types/pigpio @manerfan +/types/pikaday-time @Sayan751 +/types/pino/v3 @psnider +/types/pino @psnider, @BendingBender +/types/pinterest-sdk @adamburmister +/types/pinyin @wanganjun +/types/piwik-tracker @lbguilherme +/types/pkijs @microshine +/types/playerframework @ricardosabino +/types/pleasejs @nakakura +/types/plotly.js @chrisgervang, @martinduparc, @frederikaalund, @taoqf +/types/pluralize @ukyo +/types/png-async @kanreisa +/types/podcast @nikeee +/types/podium @AJamesPhillips +/types/point-in-polygon @dyst5422, @kogai +/types/polylabel @DenisCarriere +/types/polyline @Kern0 +/types/polymer @lgrignon, @laco0416 +/types/popper.js @joscha, @seckardt, @marcfallows +/types/portscanner @douglasduteil +/types/postal @myitcv +/types/postmark @benbayard +/types/pouch-redux-middleware @charrondev +/types/pouchdb @AGBrown, @geppy, @fredgalvao +/types/pouchdb-adapter-fruitdown @spaulg, @geppy, @fredgalvao +/types/pouchdb-adapter-http @spaulg, @geppy, @fredgalvao +/types/pouchdb-adapter-idb @spaulg, @geppy, @fredgalvao +/types/pouchdb-adapter-leveldb @spaulg, @geppy, @fredgalvao +/types/pouchdb-adapter-localstorage @spaulg, @geppy, @fredgalvao +/types/pouchdb-adapter-memory @spaulg, @geppy, @fredgalvao +/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-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-upsert @keithdmoore, @hotforfeature +/types/power-assert @vvakame +/types/power-assert-formatter @vvakame +/types/precise @codeanimal +/types/precond @olsio +/types/preloadjs @endel +/types/prelude-ls @AyaMorisawa +/types/prettier @ikatyang +/types/pretty-bytes @plantain-00 +/types/pretty-ms @BendingBender +/types/printf @AluisioASG +/types/priorityqueuejs @geoffreak +/types/prismjs @eriklieben, @andrewiggins +/types/private-ip @coderslagoon +/types/progress @sebastian-lenz +/types/progressbar @atd-schubert +/types/progressjs @zaneli +/types/proj4 @DenisCarriere +/types/proj4leaflet @BendingBender +/types/promise-dag @OSjoerdWie +/types/promise-polyfill @skysteve +/types/promise-pool @vilic +/types/promise.prototype.finally @slavik57, @BendingBender +/types/promised-temp @rokadias +/types/promisify-node @borekb +/types/prompt-sync @MugeSo +/types/prompt-sync-history @MugeSo +/types/promptly @danrspencer +/types/prop-types @DovydasNavickas +/types/prosemirror-collab @bradleyayers, @davidka +/types/prosemirror-commands @bradleyayers, @davidka +/types/prosemirror-history @bradleyayers, @davidka +/types/prosemirror-inputrules @bradleyayers, @davidka +/types/prosemirror-keymap @bradleyayers, @davidka +/types/prosemirror-markdown @bradleyayers +/types/prosemirror-menu @davidka +/types/prosemirror-model @bradleyayers, @davidka +/types/prosemirror-schema-basic @bradleyayers, @davidka +/types/prosemirror-schema-list @bradleyayers, @davidka +/types/prosemirror-state @bradleyayers, @davidka +/types/prosemirror-transform @bradleyayers, @davidka +/types/prosemirror-view @bradleyayers, @davidka +/types/protobufjs @panuhorsmalahti +/types/protractor-browser-logs @rokadias +/types/protractor-http-mock @Crevil +/types/public-ip @BendingBender +/types/pug @TonyPythoneer, @19majkel94 +/types/pulltorefreshjs @DanielRosenwasser +/types/pump @tlaziuk +/types/purl @danfma +/types/pusher-js @tkqubo +/types/pvutils @microshine +/types/python-shell @dolanmiu +/types/q/v0 @bnemetchek, @johnnyreilly +/types/q @bnemetchek, @johnnyreilly, @mboudreau +/types/q-io @Bartvds +/types/q-retry @vilic +/types/qhistory @Kovensky +/types/qlik @RubenSlabbert, @AginicX +/types/qlik-engineapi @konne +/types/qlik-visualizationextensions @konne +/types/qr-image @taoqf +/types/qrcode.react @mleko +/types/qs @RWander, @leonyu, @tehbelinda, @zyml, @artursvonda +/types/qtip2 @Seltzer, @leonard-thieu +/types/query-string @SamVerschueren, @tkrotoff, @huhuanming +/types/quick-lru @BendingBender +/types/quill @sumitkm, @guillaume-ro-fr +/types/quixote @greybax +/types/qunit/v1 @diullei +/types/qunit @waratuman +/types/quoted-printable @pushplay +/types/qwest @lindsayevans +/types/rabbit.js @wokim +/types/radius @codeanimal +/types/ramda @donnut, @mdekrey, @LiamGoodacre, @mrdziuban, @sbking, @afharo, @teves-castro, @1M0reBug, @hojberg +/types/random-js @pistacchio +/types/random-seed @endel +/types/random-string @stpettersens +/types/randomcolor @feitzi, @BradyLiles +/types/range-parser @tlaziuk +/types/rangyinputs @ersimont +/types/raphael @CheCoxshall +/types/rappid @DenEwout +/types/ratelimiter @AyaMorisawa +/types/raven @scttcper, @1999 +/types/raygun4js @xt0rted, @BenjaminHarding +/types/rc @DanielRosenwasser +/types/rc-select @DenisTirilis +/types/rcloader @panuhorsmalahti +/types/react/v15 @bbenezech, @pzavolinsky, @digiguru, @ericanderson, @morcerf, @tkrotoff, @DovydasNavickas, @onigoetz +/types/react @bbenezech, @pzavolinsky, @digiguru, @ericanderson, @morcerf, @tkrotoff, @DovydasNavickas, @onigoetz, @richseviora +/types/react-app @prakarshpandey +/types/react-autosuggest @nicolas-schmitt, @pjo256, @robessog, @tbayne +/types/react-body-classname @mhegazy +/types/react-bootstrap @walkerburgin, @vsiao, @danilojrr, @Batbold-Gansukh, @octatone, @chengsieuly, @katbusch +/types/react-bootstrap-date-picker @LKay +/types/react-bootstrap-daterangepicker @ianks +/types/react-bootstrap-table @flaub, @alelode +/types/react-breadcrumbs @KostyaEsmukov +/types/react-burger-menu @radziksh +/types/react-calendar-timeline @radziksh +/types/react-chartjs-2 @apare, @FabienLavocat +/types/react-codemirror @velveret, @rudi-c +/types/react-color @LKay, @markspolakovs, @mntdn +/types/react-copy-to-clipboard @mabels +/types/react-cropper @stepancar +/types/react-css-modules @KostyaEsmukov, @skirsdeda +/types/react-css-transition-replace @LKay +/types/react-custom-scrollbars/v3 @David-LeBlanc-git +/types/react-custom-scrollbars @David-LeBlanc-git, @kittimiyo +/types/react-data-grid/v1 @SupernaviX +/types/react-data-grid @SupernaviX, @KieranPeat +/types/react-datagrid @stephenjelfs +/types/react-datepicker @radziksh, @andrewBalekha, @smrq, @Rogach +/types/react-daterange-picker @MartynasZilinskas +/types/react-dates @Artur-A +/types/react-daum-postcode @Sa-ryong +/types/react-dnd-html5-backend @oizie +/types/react-document-title @cleverguy25 +/types/react-dom @MartynasZilinskas +/types/react-dropzone/v2 @matdube, @LynxEyes, @goblindegook, @benbayard +/types/react-dropzone @matdube, @LynxEyes, @goblindegook, @benbayard, @LKay +/types/react-easy-chart @danzel +/types/react-event-listener @asvetliakov +/types/react-fa @flaub +/types/react-facebook-login @apare, @jankarres +/types/react-faux-dom @alitaheri, @cleverguy25 +/types/react-file-input @dmitryrogozhny +/types/react-file-reader-input @dmitryrogozhny, @alitaheri +/types/react-flatpickr @begincalendar +/types/react-flex @pushplay +/types/react-flexr @pushplay +/types/react-flip-move @jmhain +/types/react-fontawesome @timurrustamov, @dublicator, @vincaslt, @gavingregory +/types/react-ga @telshin +/types/react-geosuggest @brmenchl +/types/react-gravatar @invliD +/types/react-grid-layout @abirkholz, @alitaheri, @ZheyangSong +/types/react-hamburger-menu @grzesie2k +/types/react-helmet/v4 @evanbb, @isman-usoh +/types/react-helmet @evanbb, @isman-usoh, @lith-light-g, @sammkj, @yuit +/types/react-highlight-words @mhegazy +/types/react-highlighter @oizie +/types/react-holder @isman-usoh +/types/react-i18next/v1 @KostyaEsmukov +/types/react-i18next @GiedriusGrabauskas +/types/react-icon-base @apare, @LKay +/types/react-icons @apare +/types/react-imageloader @stephenjelfs +/types/react-infinite @rhysd +/types/react-infinite-scroller @Lapanti, @psrebniak +/types/react-input-calendar @stepancar +/types/react-input-mask @apare +/types/react-intl/v1 @bgrieder +/types/react-intl @bgrieder, @cdroulers, @gyzerok, @tillwolff, @LKay, @bhouser, @kristerkari +/types/react-intl-redux @LKay +/types/react-is-deprecated @seansfkelley +/types/react-joyride @DanielRosenwasser, @bendxn +/types/react-json-pretty @LKay +/types/react-jsonschema-form @iamdanfox, @sirreal +/types/react-lazyload @m0a +/types/react-leaflet @danzel, @davschne, @yuit +/types/react-list @buptyyf +/types/react-loadable @Kovensky, @odensc +/types/react-loader @artfuldev +/types/react-maskedinput @LKay, @lavoaster, @CarlosBonetti +/types/react-mdl @bradzacher +/types/react-measure @asvetliakov, @marcfallows +/types/react-mixin @tkqubo +/types/react-modal @radziksh, @drewnoakes, @homburg, @ttamminen, @hallowatcher +/types/react-monaco-editor @jnetterf +/types/react-motion @stepancar, @asvetliakov +/types/react-motion-slider @asvetliakov +/types/react-native @alloy, @gyzerok, @huhuanming, @iRoachie, @timwangdev, @kamal +/types/react-native-collapsible @iRoachie +/types/react-native-communications @huhuanming +/types/react-native-datepicker @jacobbaskin +/types/react-native-drawer @jnbt +/types/react-native-drawer-layout @jmfirth +/types/react-native-elements @iRoachie +/types/react-native-fbsdk @ifiokjr +/types/react-native-fetch-blob @MNBuyskih +/types/react-native-google-analytics-bridge @huhuanming, @nbperry +/types/react-native-keep-awake @huhuanming +/types/react-native-material-design-searchbar @iRoachie +/types/react-native-modalbox @me +/types/react-native-scrollable-tab-view @CaiHuan +/types/react-native-sensor-manager @SahinVardar +/types/react-native-snap-carousel @jnbt +/types/react-native-sortable-list @sivolobov +/types/react-native-svg-uri @iRoachie +/types/react-native-swiper @CaiHuan, @huhuanming, @mhcgrq +/types/react-native-touch-id @huhuanming +/types/react-native-vector-icons @iRoachie, @timwangdev +/types/react-native-video @huhuanming +/types/react-navigation @huhuanming, @mhcgrq, @fangpenlin, @abrahambotros, @petejkim, @iRoachie, @phanalpha, @charlesfamu +/types/react-notification-system @GiedriusGrabauskas, @DeividasBakanas, @LKay, @sztobar +/types/react-notification-system-redux @LKay +/types/react-onclickoutside/v5 @LKay +/types/react-onclickoutside @LKay +/types/react-overlays @aaronbeall, @vitosamson +/types/react-paginate @deevus, @wouterhardeman, @pegel03, @archy-bold +/types/react-pointable @istefo +/types/react-portal @shuntksh +/types/react-props-decorators @tkqubo +/types/react-recaptcha @mhegazy +/types/react-redux @tkqubo, @seansfkelley, @thasner, @kenzierocks, @clayne11, @tansongyang +/types/react-redux-i18n @clementdevos +/types/react-redux-toastr @Smiche, @artyomsv, @kulmajaba +/types/react-relay @graphcool +/types/react-responsive @asvetliakov +/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 +/types/react-router @sergey-buturlakin, @mrk21, @vasek17, @ngbrown, @awendland, @KostyaEsmukov, @johnnyreilly, @LKay, @DovydasNavickas, @tkrotoff, @huy-nguyen, @grmiade, @DaIgeb +/types/react-router-bootstrap @vlesierse, @LKay, @olmobrutall +/types/react-router-config @lith-light-g +/types/react-router-dom @tkrotoff, @huy-nguyen +/types/react-router-native @ezintz +/types/react-router-redux/v3 @noah79, @rosendi +/types/react-router-redux/v4 @noah79, @rosendi, @LKay, @DovydasNavickas +/types/react-router-redux @huy-nguyen, @8398a7 +/types/react-scroll @sudoplz, @GiedriusGrabauskas +/types/react-scrollbar @stephenjelfs +/types/react-select @MartynasZilinskas +/types/react-sidebar @jeroenvervaeke +/types/react-slick @andrewBalekha, @GiedriusGrabauskas +/types/react-smooth-scrollbar @asvetliakov +/types/react-sortable-hoc @NoHomey, @charlesrey +/types/react-sortable-tree @wouterhardeman +/types/react-spinkit/v1 @tkqubo, @mleko, @pelotom +/types/react-spinkit @tkqubo, @mleko, @pelotom, @zzanol +/types/react-split-pane @rcchen +/types/react-sticky @curtisw0 +/types/react-svg-pan-zoom @huy-nguyen +/types/react-swf @stepancar +/types/react-swipe @DeividasBakanas +/types/react-swipeable @GiedriusGrabauskas, @mctep +/types/react-swipeable-views @mxl, @DeividasBakanas +/types/react-syntax-highlighter @NoHomey +/types/react-tabs @danez +/types/react-tag-input @Ogglas, @jankarres +/types/react-tap-event-plugin @mxl +/types/react-test-renderer @arvitaly, @lochbrunner, @lochbrunner +/types/react-tether @ryprice +/types/react-textarea-autosize @asvetliakov, @zry656565 +/types/react-toggle/v2 @LKay +/types/react-toggle @LKay +/types/react-tooltip @DeividasBakanas +/types/react-touch @grzesie2k +/types/react-transition-group/v1 @LKay +/types/react-transition-group @LKay +/types/react-user-tour @ccancellieri +/types/react-virtual-keyboard @bsurai +/types/react-virtualized @kaoDev, @guntherjh, @wasd171 +/types/react-virtualized-select @seansfkelley +/types/react-weui @tairan +/types/react-widgets @sanyatuning, @frodehansen2 +/types/reactable @spielc +/types/reactcss @chrisgervang, @LKay +/types/reactstrap @alihammad, @mfal, @danilobjr +/types/read @timjk +/types/read-package-tree @mgroenhoff +/types/readdir-stream @Bartvds +/types/readline-sync @jonestristand +/types/realm @Akim95 +/types/reapop @Barrokgl +/types/recaptcha @brentj73 +/types/recase @18steps +/types/recompose @iskandersierra, @mrapogee, @clayne11 +/types/redis @soywiz, @CodeAnimal, @MugeSo +/types/redis-mock @BendingBender +/types/redis-rate-limiter @westy92 +/types/redis-scripto @westy92 +/types/redlock/v2 @chrootsu +/types/redlock @chrootsu, @BendingBender +/types/reduce-reducers @huy-nguyen +/types/redux-action @newraina +/types/redux-action-utils @tkqubo +/types/redux-actions @jaysoo, @alexgorbatchev +/types/redux-auth-wrapper/v1 @LKay +/types/redux-auth-wrapper @LKay +/types/redux-batched-subscribe @mDibyo +/types/redux-bootstrap @remojansen +/types/redux-debounced @seansfkelley +/types/redux-devtools @mc-petry +/types/redux-devtools-dock-monitor @mc-petry +/types/redux-devtools-log-monitor @mc-petry +/types/redux-doghouse @BendingBender +/types/redux-first-router @Valbrand, @viggyfresh +/types/redux-form/v4 @aikoven +/types/redux-form/v6 @carsonf, @aikoven, @LKay, @bancek +/types/redux-form @carsonf, @aikoven, @LKay, @bancek +/types/redux-immutable @oizie, @gavingregory +/types/redux-immutable-state-invariant @remojansen, @highflying +/types/redux-localstorage @LKay +/types/redux-localstorage-debounce @LKay +/types/redux-localstorage-filter @LKay +/types/redux-mock-store @MarianPalkus +/types/redux-optimistic-ui @asvetliakov +/types/redux-persist-transform-encrypt @LKay +/types/redux-persist-transform-filter @LKay +/types/redux-promise @molekilla, @xStrom +/types/redux-promise-middleware @ianks +/types/redux-recycle @LKay +/types/redux-storage @asvetliakov +/types/redux-ui @andyshuxin +/types/ref @loyd +/types/ref-array @loyd +/types/ref-struct @loyd +/types/ref-union @loyd +/types/reflect-metadata @rbuckton +/types/reflux @mauricedb +/types/relateurl @tkrotoff +/types/relaxed-json @18steps +/types/remote-redux-devtools @ColinEberhardt, @unindented +/types/replace-ext @DeividasBakanas +/types/request @soywiz, @bonnici, @Bartvds, @ccurrens +/types/request-ip @mrhen +/types/request-promise @AyaMorisawa +/types/request-promise-native @gustavohenke +/types/requestretry @EricByers +/types/require-directory @Igmat +/types/requirejs-domready @lefb766 +/types/resemblejs @pimterry +/types/resolve @marionebl +/types/resolve-from @unional +/types/response-time @TonyPythoneer +/types/rest @Nemo157 +/types/restful.js @tkqubo +/types/restify/v4 @blittle, @stevehipwell +/types/restify @blittle, @stevehipwell +/types/restify-cors-middleware @dthunell +/types/restify-errors @stevehipwell +/types/restify-plugins @KostyaTretyak +/types/restler @cyrilschumacher +/types/resumablejs @DanielMcAssey +/types/rethinkdb @alexgorbatchev +/types/retry @krenor +/types/rev-hash @ikatyang +/types/revalidate @alex3165 +/types/revalidator @brewsoftware +/types/rewire @borislavjivkov, @CaselIT +/types/rfc2047 @mugifly +/types/rheostat @SashaBayan, @kourge +/types/rimraf @soywiz, @e-cloud, @bash +/types/riot @Stubb0rn +/types/riotcontrol @chrootsu +/types/riotjs @vvakame +/types/rison @impworks +/types/rivets @TrevorDev +/types/rollup @flying-sheep +/types/ronomon__crypto-async @BendingBender +/types/route-parser @ianks, @bobbuehler +/types/router5 @sandersky +/types/routie @Adilson +/types/rpio @DominikPalo +/types/rrc @DeividasBakanas +/types/rrule @waratuman +/types/rsmq @MugeSo +/types/rsmq-worker @MugeSo +/types/rss @secondwtq +/types/rsvp @Taytay, @mkohlmyr, @theroncross, @chriskrycho +/types/rsync @philippstucki +/types/rtree @oefirouz +/types/run-sequence @k-kagurazaka +/types/rvo2 @erikvullings +/types/rx @Igorbek +/types/rx-core @Igorbek, @mizunashi-mana +/types/rx-core-binding @Igorbek +/types/rx-dom @oliverw +/types/rx-jquery @Igorbek +/types/rx-lite @Igorbek +/types/rx-lite-aggregates @Igorbek +/types/rx-lite-async @zoetrope, @Igorbek +/types/rx-lite-backpressure @Igorbek +/types/rx-lite-coincidence @Igorbek +/types/rx-lite-experimental @Igorbek +/types/rx-lite-joinpatterns @Igorbek +/types/rx-lite-testing @Igorbek +/types/rx-lite-time @Igorbek +/types/rx-lite-virtualtime @Igorbek +/types/s3-upload-stream @geoffreak +/types/safari-extension @luukd +/types/safari-extension-content @luukd +/types/safe-regex @mhegazy +/types/saml20 @HackerUndKoch +/types/sammy @oising +/types/sane @BendingBender +/types/sanitize-filename @Nemo157 +/types/sanitize-html @rogierschouten, @afshin +/types/sap__xsenv @mad-mike +/types/sass-graph @marvinhagemeister +/types/sat @omni360 +/types/satnav @DotNetNerd +/types/saywhen @SeanSobey +/types/scalike @ryoppy +/types/screenfull @lionelb, @joelshepherd +/types/screeps-profiler @ramblurr +/types/scriptjs @ssttevee +/types/scroll-into-view @zivni +/types/scroller @borisyankov +/types/scrollreveal @Davidblkx +/types/scrolltofixed @bmdixon +/types/scrypt-async @xStrom +/types/seamless @danmana +/types/seamless-immutable @alex3165, @xsburg, @geirsagberg +/types/seedrandom @kernhanda +/types/segment-analytics @fongandrew +/types/selectize @adidahiya, @naBausch +/types/selenium-webdriver/v2 @BillArmstrong, @Kuniwak, @cnishina +/types/selenium-webdriver @BillArmstrong, @Kuniwak, @cnishina, @SupernaviX, @bendxn +/types/semantic-ui @leonard-thieu +/types/semantic-ui-accordion @leonard-thieu +/types/semantic-ui-api @leonard-thieu +/types/semantic-ui-checkbox @leonard-thieu +/types/semantic-ui-dimmer @leonard-thieu +/types/semantic-ui-dropdown @leonard-thieu +/types/semantic-ui-embed @leonard-thieu +/types/semantic-ui-form @leonard-thieu +/types/semantic-ui-modal @leonard-thieu +/types/semantic-ui-nag @leonard-thieu +/types/semantic-ui-popup @leonard-thieu +/types/semantic-ui-progress @leonard-thieu +/types/semantic-ui-rating @leonard-thieu +/types/semantic-ui-search @leonard-thieu +/types/semantic-ui-shape @leonard-thieu +/types/semantic-ui-sidebar @leonard-thieu +/types/semantic-ui-site @leonard-thieu +/types/semantic-ui-sticky @leonard-thieu +/types/semantic-ui-tab @leonard-thieu +/types/semantic-ui-transition @leonard-thieu +/types/semantic-ui-visibility @leonard-thieu +/types/semver @Bartvds +/types/semver-diff @chrismbarr +/types/send @MikeJerred +/types/sequelize/v3 @samuelneff, @codeanimal, @drinchev, @morpheusxaut, @torhal +/types/sequelize @samuelneff, @codeanimal, @drinchev, @babolivier, @kukoo1 +/types/sequester @Strate +/types/serialize-javascript @lith-light-g +/types/serialport @codefoster +/types/serve-index @tkrotoff +/types/session-file-store @blendsdk +/types/set-cookie-parser @nickp10 +/types/sha1 @arcdev1 +/types/shallowequal @seansfkelley +/types/shapefile @DenisCarriere +/types/sharedworker @nakakura +/types/sharepoint @baywet +/types/sharp @lith-light-g +/types/sheetify @toddself +/types/shell-quote @jason0x43 +/types/shelljs @nikeee, @voy +/types/shipit @cyrilschumacher +/types/shipit-utils @cyrilschumacher +/types/shopify-buy @openminder +/types/shortid @stpettersens, @despairblue +/types/shot @AJamesPhillips +/types/showdown @cbowdon +/types/siema @Irmiz +/types/siesta @bquarmby +/types/sigmajs @qinfchen +/types/signalr @GiedriusGrabauskas +/types/signals @diullei +/types/signature_pad @AbubakerB +/types/simple-assign @NoHomey +/types/simple-cw-node @vvakame +/types/simple-mock @leonyu +/types/simple-oauth2 @mad-mike +/types/simple-peer @tlaziuk +/types/simple-url-cache @a-lucas +/types/simple-xml @notVitaliy +/types/simplebar/v1 @gregonnet, @leonard-thieu +/types/simplebar @leonard-thieu +/types/simplemde @Scalesoft +/types/simplestorage.js @axelcostaspena, @mxl +/types/sinon @mrbigdog2u, @rationull, @lumaxis, @nicojs, @43081j +/types/sinon-as-promised @igrayson +/types/sinon-chrome @pimterry +/types/sinon-express-mock @jpchip, @tlaziuk +/types/sinon-mongoose @stevehipwell +/types/sinon-stub-promise @vintem +/types/sinon-test @mummybot +/types/sip.js @decyrus +/types/sipml @chookies +/types/sitemap2 @shundy +/types/sizzle @leonard-thieu +/types/sjcl @Evgenus +/types/ski @AyaMorisawa +/types/skyway @nakakura +/types/slack-node @geoffreak +/types/slack-winston @BlueHatbRit +/types/slackify-html @hypexr +/types/slimerjs @alexwall +/types/slug @mhegazy +/types/smart-fox-server @ChanceM +/types/smooth-scrollbar @asvetliakov +/types/smoothie @mikehhawley +/types/smoothscroll-polyfill @kryops +/types/smtpapi @a-morales +/types/snapsvg @lhk, @mattanja, @kant2002 +/types/snekfetch @DarkerTV +/types/snoowrap @vitosamson +/types/soap @aleung, @cagefox +/types/socket.io.users @kataras +/types/socketio-wildcard @BendingBender +/types/socketty @Nax +/types/sockjs @pmccloghrylaing +/types/sockjs-client @vladev, @BendingBender +/types/solution-center-communicator @dami-gg +/types/source-map @MortenHoustonLudvigsen, @rbuckton +/types/source-map-support @Bartvds, @jason0x43 +/types/space-pen @vvakame +/types/spark-md5 @bastienmoulia +/types/sparkly @BendingBender +/types/sparkpost/v1 @geoffreak +/types/sparkpost @geoffreak, @bondz +/types/spdy @tony19 +/types/speakeasy @legendecas, @mrOlorin +/types/spectacle @zmaybury +/types/spectrum @M-Zuber +/types/split @marcinporebski +/types/spotify-api @skovmand +/types/sprintf @soywiz +/types/sqlstring @marvinhagemeister +/types/squirejs @bradleyayers +/types/srp @Patman64 +/types/ssh2 @tkQubo, @rbuckton +/types/ssh2-sftp-client @igrayson +/types/ssh2-streams @rbuckton +/types/sshpk @mabels +/types/stack-mapper @rogierschouten +/types/stack-trace @exceptionless +/types/stack-utils @BendingBender +/types/stacktrace-js @exceptionless, @pilagod +/types/stampit @koresar +/types/stat-mode @BendingBender +/types/stats.js @gregolai, @hberntsen +/types/statuses @tkrotoff, @BendingBender +/types/steam @kant2002 +/types/steed @Paul-Isache +/types/stompjs @jimic +/types/storybook__addon-actions @joscha +/types/storybook__addon-knobs @joscha, @martynaskadisa +/types/storybook__addon-links @joscha +/types/storybook__addon-notes @joscha +/types/storybook__addon-options @joscha +/types/storybook__react @joscha +/types/stream-buffers @Jason3S +/types/stream-series @k-kagurazaka +/types/stream-to-array @Bartvds +/types/streamjs @erosb +/types/strftime @cyrilschumacher +/types/string-similarity @ragtime +/types/string-template @TonyPythoneer +/types/stringify-object @khoomeister +/types/strip-ansi @mhegazy +/types/strip-bom @mhegazy +/types/stripe-checkout @cgwrench +/types/stripe-node @wjohnsto +/types/stripe-v2 @adamcmiel, @jleider, @galuszkak +/types/stripe-v3 @adamcmiel, @jleider, @galuszkak +/types/striptags @ccitro +/types/strong-cluster-control @shuntksh +/types/stylelint @alan-agius4 +/types/stylus @SomaticIT +/types/subsume @BendingBender +/types/succinct @EnableSoftware +/types/sudo-block @BendingBender +/types/suitescript @darrenhillconsulting +/types/supercluster @DenisCarriere +/types/supertest-as-promised @tkrotoff +/types/supports-color @mgroenhoff +/types/svg-injector @poke +/types/svg-pan-zoom/v2 @Promact +/types/svg-pan-zoom @Yimiprod +/types/svg-sprite @tkqubo +/types/svg2png @hansrwindhoff +/types/svg4everybody @BendingBender +/types/svgjs.draggable @LiFeleSs +/types/svgjs.resize @jkevingutierrez +/types/swag @shiwano +/types/swagger-jsdoc @drGrove +/types/swagger-schema-official @mohsen1, @bsouthga, @nimerritt +/types/swagger-tools @bricka +/types/swaggerize-express @nickmorton +/types/swfobject @rou +/types/swiftclick @Laurence-C +/types/swig @CodeAnimal, @soywiz +/types/swig-email-templates @mrhen +/types/swipe @kant2002 +/types/switchery @bgrieder, @claylaut +/types/swiz @jedigo +/types/sylvester @StephaneAlie +/types/synaptic @austincummings +/types/systeminformation @PixelcrabAT +/types/systemjs @GiedriusGrabauskas +/types/tabtab @vojtechhabarta +/types/tapable @e-cloud +/types/tape @Bartvds, @sodatea, @DennisSchwartz +/types/tar @SomaticIT +/types/tedious @rogierschouten, @cjthompson +/types/tedious-connection-pool @sandorfr +/types/telebot @mariotsi +/types/temp @DanielRosenwasser +/types/temp-write @BendingBender +/types/tempfile @SamVerschueren, @BendingBender +/types/tempy @douglasduteil +/types/terminal-menu @aravindarun +/types/testingbot-api @timbru31 +/types/tether @adidahiya +/types/tether-drop @adidahiya +/types/tether-shepherd @mtgibbs +/types/three @gyohk, @florentpoujol, @SereznoKot, @omni360, @ivoisbelongtous, @piranha771, @qszhusightp, @nakakura, @s093294, @Pro, @efokschaner +/types/thrift @kamek-pf +/types/throttle @BendingBender +/types/through2/v0 @Bartvds, @jedmao +/types/through2 @Bartvds, @jedmao, @valotas, @TeamworkGuy2 +/types/through2-map @LucasHill +/types/tile-reduce @DenisCarriere +/types/tilebelt @DenisCarriere +/types/time-span @BendingBender, @mdvorscak +/types/timelinejs @rolandzwaga +/types/timelinejs3 @MikeMatusz +/types/timer-machine @dolanmiu +/types/timezone-js @bonnici +/types/timezonecomplete @rogierschouten +/types/tinder @pingec +/types/tinycolor2 @M-Zuber, @geertjansen, @nvh +/types/tinycopy @vvatanabe +/types/tinymce @ipoul +/types/title @fa7ad +/types/tldjs @geoffreak +/types/tmp @optical, @Perlmint +/types/to-markdown @SuperPaintman +/types/to-title-case-gouch @stpettersens +/types/tooltipster @stephenlautier +/types/topojson @ricardo-mello, @chenzhutian +/types/torrent-stream @xstoudi +/types/touch @mizunashi-mana, @BendingBender +/types/touch-events @kevinb7 +/types/tough-cookie @leonard-thieu +/types/tracking @pimterry +/types/transducers-js @colinkahn, @dphilipson +/types/transducers.js @dphilipson +/types/traverse @newclear +/types/trayballoon @korve +/types/trim @skysteve +/types/tspromise @soywiz +/types/tunnel @BendingBender +/types/turf/v2 @gcroteau +/types/turf @gcroteau, @DenisCarriere +/types/tv4 @Bartvds, @psnider +/types/tween.js @Amos47, @sunetos, @jzarnikov +/types/tweenjs @evilangelist +/types/tweezer.js @praxxis +/types/twig @soywiz, @enko +/types/twilio @nickiannone, @ashleybrener +/types/twit @Volox +/types/twitter @chitoku-k +/types/twix @j3ko +/types/type-check @hansrwindhoff +/types/type-detect @Bartvds +/types/type-is @BendingBender +/types/type-name @armorik83 +/types/typescript-deferred @DirtyHairy +/types/tz-format @samverschueren +/types/ua-parser-js @superduper, @legendecas +/types/uglify-js @tkrotoff +/types/uglifycss @blendsdk +/types/ui-grid @btesser +/types/ui-select @nkovacic +/types/uid-safe @geoffreak +/types/uikit @giovannicandido, @s0x +/types/uk.co.workingedge.phonegap.plugin.launchnavigator @dpa99c +/types/umbraco @DeCareSystemsIreland +/types/umd @TeamworkGuy2 +/types/undertaker @tkqubo, @GiedriusGrabauskas +/types/undertaker-registry @GiedriusGrabauskas +/types/uniq @hansrwindhoff +/types/uniqid @me +/types/unique-random @Kuniwak +/types/unity-webapi @jmvrbanac +/types/universal-analytics @Bartvds, @DarkerTV +/types/universal-router @jtmthf +/types/unorm @chbrown +/types/untildify @BendingBender +/types/unused-filename @BendingBender +/types/update-notifier @vvakame, @nchen63 +/types/uppercamelcase @plantain-00 +/types/urbanairship-cordova @Justin-Credible +/types/uri-templates @Bartvds +/types/urijs @RodneyJT, @xt0rted +/types/url-assembler @wolfgang42 +/types/url-join @rogierschouten, @devrelm +/types/url-regex @unindented +/types/urlrouter @soywiz +/types/urlsafe-base64 @tkrotoff +/types/usage @pvomhoff +/types/usb @underscorebrody +/types/user-home @mhegazy +/types/useragent @geoffreak +/types/username @kayahr +/types/util-deprecate @BendingBender +/types/util.promisify @adamvoss +/types/utils-merge @chrootsu +/types/uuid @cjbarth +/types/uuid-js @mhegazy +/types/uuid-validate @HiromiShikata +/types/uws @plantain-00 +/types/valdr @ilbertz +/types/valdr-message @ilbertz +/types/valerie @conficient +/types/valid-url @stevehipwell +/types/validate.js @HillTravis +/types/validator @tgfjt, @chrootsu, @IOAyman, @louy, @kacepe +/types/validatorjs @LKay +/types/vanilla-tilt @BrunnerLivio +/types/vast-client @jgainfort +/types/vectorious @erikgerrits +/types/vertx3-eventbus-client @oddeirik +/types/vex-js @gdcohan +/types/vexflow @rquiring +/types/victory @asvetliakov, @snerks, @Havret +/types/viewability-helper @lironzluf +/types/viewerjs @lrh3321 +/types/viewporter @borisyankov +/types/vimeo__player @denisyilmaz +/types/vinyl/v0 @jedmao +/types/vinyl @jedmao, @thorn0 +/types/vinyl-buffer @tkQubo +/types/vinyl-paths @tkQubo +/types/virtual-dom @chbrown +/types/virtual-keyboard @bsurai +/types/vis @MichaelBitard, @macleodbroad-wf, @adripanico, @seveves, @kaktus40, @mmaitre314 +/types/vision @AJamesPhillips +/types/vitalsigns @cyrilschumacher +/types/vivus @DanielRosenwasser, @lekhmanrus +/types/voca @pine +/types/voronoi-diagram @michaelneu +/types/vue-i18n @aicest +/types/vue-resource @kaorun343 +/types/wake_on_lan @SrTobi +/types/wallabyjs @andrewconnell +/types/wallpaper @BendingBender +/types/wampy @KSDaemon +/types/warning @cvle +/types/watch @soywiz, @Perlmint +/types/watchify @TeamworkGuy2 +/types/watchpack @e-cloud +/types/waterline @arvitaly +/types/watson-developer-cloud @waldo000000 +/types/waypoints @dominikbulaj, @Koloto +/types/webappsec-credential-management @iainmcgin +/types/webassembly-js-api @periklis +/types/webcl @NCARalph +/types/webcomponents.js @adidahiya +/types/webdriverio @nmalaguti, @timbru31, @fsmedberg-tc, @tanvirislam06 +/types/webgme @phreed +/types/webmidi @lostfictions +/types/webpack @tkqubo, @bumbleblym, @bcherny, @tommytroylin, @mohsen1, @jcreamer898 +/types/webpack-bundle-analyzer @kryops +/types/webpack-chain @eirikurn +/types/webpack-dev-middleware @bumbleblym +/types/webpack-dev-server @maestroh, @daveparslow +/types/webpack-dotenv-plugin @kryops +/types/webpack-env @use-strict +/types/webpack-fail-plugin @deevus +/types/webpack-hot-middleware @bumbleblym +/types/webpack-merge @deevus +/types/webpack-notifier @bumbleblym +/types/webpack-stream @iclanton, @bumbleblym +/types/webpack-validator @deevus +/types/webrtc @nakakura +/types/websocket @loyd, @flynetworks +/types/webspeechapi @saschanaz +/types/websql @TeamworkGuy2 +/types/webtorrent @niieani, @tlaziuk +/types/webvr-api @lostfictions +/types/week @sindrenm +/types/weighted @ccitro +/types/weixin-app @taoqf +/types/wellknown @yairtawil +/types/whatwg-streams @saschanaz +/types/when @derekcicerone, @Nemo157 +/types/which @vvakame +/types/wicg-mediasession @jucrouzet +/types/wiiu @mzsm +/types/window-or-global @vvakame +/types/window-size @pmkary +/types/windows-1251 @RomanGolovanov +/types/windows-service @rogierschouten +/types/winjs/v1 @adamhewitt627, @craigktreasure, @xirzec +/types/winjs/v2 @adamhewitt627, @craigktreasure, @xirzec +/types/winjs @adamhewitt627, @craigktreasure, @xirzec +/types/winreg @RX14, @BobBuehler +/types/winrt-uwp @saschanaz, @taylor224 +/types/winston @bonnici, @codeanimal, @DABH +/types/wiring-pi @NoHomey +/types/wnumb @acoreyj +/types/wonder-commonlib @yyc-git +/types/wonder-frp @yyc-git +/types/wonder.js @yyc-git +/types/words-to-numbers @James-Frowen +/types/wrap-ansi @kayahr +/types/wrench @soywiz +/types/write-file-atomic @BendingBender +/types/write-json-file @DenisCarriere +/types/ws @loyd, @elithrar +/types/wx-js-sdk-dt @agasbzj +/types/xadesjs @microshine +/types/xdg-basedir @tlaziuk +/types/xml @YuJianrong +/types/xml2js @michelsalib, @jasonrm, @ccurrens, @edwardhinkle +/types/xml2json @dolanmiu +/types/xmldoc @Xstoudi, @ajsheehan +/types/xmldom @tkqubo +/types/xmltojson @traviscrowe +/types/xmpp__jid @PJakcson +/types/xregexp @Bartvds, @jfahrenkrug, @sigo +/types/xrm/v7 @daryllabar +/types/xrm @daryllabar, @clownwilleatme +/types/xsockets @pushplay +/types/xterm @blink1073, @LucianBuzzo +/types/yandex-money-sdk @chrootsu +/types/yargs @poelstra, @mizunashi-mana, @pushplay, @jeffkenney +/types/yayson @Codesleuth +/types/ydn-db @yathit, @gabrielmaldi +/types/yeoman-test @ikatyang +/types/yfiles @yGuy +/types/yog-bigpipe @ssddi456 +/types/yog-log @ssddi456 +/types/yog2-kernel @ssddi456 +/types/youtube @JoshuaKGoldberg, @eliotfallon213 +/types/yui @giabao +/types/z-schema @pgonzal +/types/zen-observable @aicest +/types/zeroclipboard/v1 @ejsmith, @niemyjski, @balassy, @leonyu +/types/zeroclipboard @ejsmith, @niemyjski, @balassy, @leonyu +/types/zetapush-js @ghoullier +/types/zip.js @lgrignon +/types/zui @yuanxu +/types/zynga-scroller @haskellcamargo diff --git a/scripts/material-ui/README.md b/scripts/material-ui/README.md new file mode 100644 index 0000000000..8fe5206a81 --- /dev/null +++ b/scripts/material-ui/README.md @@ -0,0 +1,15 @@ +# Generator for material-ui + +## Usage + +```sh +node scripts/material-ui/generate.js +``` + +### GitHub API Limitation + +The error `GitHub response: 401 Unauthorized` is due to [Rate Limiting | GitHub API v3 \| GitHub Developer Guide](https://developer.github.com/v3/#rate-limiting). In order to avoid this, it is necessary to publish [Personal access token](https://github.com/settings/tokens) and specify it as an environment variable. + +```sh +GITHUB_ACCESS_TOKEN=XXXXX node scripts/material-ui/generate.js +``` diff --git a/scripts/material-ui/generate.js b/scripts/material-ui/generate.js new file mode 100644 index 0000000000..06e6983a44 --- /dev/null +++ b/scripts/material-ui/generate.js @@ -0,0 +1,147 @@ +const {get} = require('https') +const {readdir, readFile, writeFile} = require('fs') +const {join, extname, basename, dirname, relative} = require('path') + +const token = process.env.GITHUB_ACCESS_TOKEN || '' + +const toMixedCase = (name) => { + let dist = name[0].toUpperCase() + for (let i = 1; i < name.length; i++) { + const c = name[i] + if (c !== '-') { + dist += c + continue + } + i++ + dist += name[i].toUpperCase() + } + return dist +} + +const github = (path) => new Promise((resolve, reject) => { + get({ + headers: {'user-agent': 'DefinitelyTyped/material-ui/generate'}, + host: 'api.github.com', + path, + }, (res) => { + if ((res.statusCode / 100 >> 0) != 2) { + reject(`GitHub response: ${res.statusCode} ${res.statusMessage}`) + return + } + let data = ''; + res + .on('data', (chunk) => data += chunk) + .on('end', () => resolve(JSON.parse(data))) + }).on('error', reject) +}) + +const categories = () => github(`/repos/callemall/material-ui/contents/src/svg-icons?ref=master&access_token=${token}`) + +const contents = (path) => github(`/repos/callemall/material-ui/contents/${path}?ref=master&access_token=${token}`) + +const collator = new Intl.Collator() + +const resolvePath = (filename) => join(__dirname, '../../types/material-ui', filename) + +const readText = (filename) => new Promise((resolve, reject) => { + readFile(resolvePath(filename), 'utf8', (err, data) => { + if (err != null) { + reject(err) + return + } + resolve(data) + }) +}) + +const writeText = (filename, text) => new Promise((resolve, reject) => { + writeFile(resolvePath(filename), text, 'utf8', (err) => { + if (err != null) { + reject(err) + return + } + resolve() + }) +}) + +const inject = (content) => { + content.category = this.name + return content +} + +const rMark = /(\/{2} \{{3})[\s\S]*?(\/{2} \}{3})/g + +categories() + .then((cats) => Promise.all(Array.prototype.map.call(cats, (cat) => contents(cat.path) + .then((cons) => Array.prototype.map.call(cons, (con) => { + con.category = cat.name + return con + })) + ))) + .then((contentsList) => Array.prototype.concat.apply([], contentsList) + .map((content) => { + const {path} = content + const name = basename(path, extname(path)) + content.id = join(relative('src', dirname(path)), name) + content.className = toMixedCase(content.category) + toMixedCase(name) + return content + }) + .sort((a, b) => collator.compare(a.id, b.id)) + .reduce((prev, content) => { + const {dts, test} = prev + dts.individuals.push(`declare module 'material-ui/${content.id}' { + export import ${content.className} = __MaterialUI.SvgIcon; + export default ${content.className}; +}`) + dts.summarizeds.push(` export import ${content.className} = __MaterialUI.SvgIcon; // require('material-ui/${content.id}');`) + + test.individuals.push(`import _${content.className} from 'material-ui/${content.id}';`) + test.summarizeds.push(` ${content.className},`) + return prev + }, { + dts: {individuals: [], summarizeds: []}, + test: {individuals: [], summarizeds: []}, + }) +) + .then(({dts, test}) => { + return Promise.all([ + (() => { + const {individuals, summarizeds} = dts + const file = 'index.d.ts' + let index = 0 + return readText(file) + .then((script) => writeText(file, script.replace(rMark, (_, p1, p2) => { + let text = '' + switch (index) { + case 0: + text = individuals.join('\n\n') + break + case 1: + text = summarizeds.join('\n') + break + } + index++ + return p1 + '\n' + text + '\n' + p2 + }))) + })(), + (() => { + const {individuals, summarizeds} = test + const file = join('material-ui-tests.tsx') + let index = 0 + return readText(file) + .then((script) => writeText(file, script.replace(rMark, (_, p1, p2) => { + let text = '' + switch (index) { + case 0: + text = individuals.join('\n') + break + case 1: + text = summarizeds.join('\n') + break + } + index++ + return p1 + '\n' + text + '\n' + p2 + }))) + })(), + ]) + }) + .catch((err) => console.error(err)) diff --git a/types/activex-scripting/activex-scripting-tests.ts b/types/activex-scripting/activex-scripting-tests.ts index cc14a421ff..3be8e1ccf5 100644 --- a/types/activex-scripting/activex-scripting-tests.ts +++ b/types/activex-scripting/activex-scripting-tests.ts @@ -1,7 +1,7 @@ // source -- https://msdn.microsoft.com/en-us/library/ebkhfaaz.aspx // Generates a string describing the drive type of a given Drive object. -let showDriveType = (drive: Scripting.Drive) => { +function showDriveType(drive: Scripting.Drive) { switch (drive.DriveType) { case Scripting.DriveTypeConst.Removable: return 'Removeable'; @@ -16,15 +16,15 @@ let showDriveType = (drive: Scripting.Drive) => { default: return 'Unknown'; } -}; +} // Generates a string describing the attributes of a file or folder. -let showFileAttributes = (file: Scripting.File) => { - let attr = file.Attributes; +function showFileAttributes(file: Scripting.File) { + const attr = file.Attributes; if (attr === 0) { return 'Normal'; } - let attributeStrings: string[] = []; + const attributeStrings: string[] = []; if (attr & Scripting.FileAttribute.Directory) { attributeStrings.push('Directory'); } if (attr & Scripting.FileAttribute.ReadOnly) { attributeStrings.push('Read-only'); } if (attr & Scripting.FileAttribute.Hidden) { attributeStrings.push('Hidden'); } @@ -34,22 +34,22 @@ let showFileAttributes = (file: Scripting.File) => { if (attr & Scripting.FileAttribute.Alias) { attributeStrings.push('Alias'); } if (attr & Scripting.FileAttribute.Compressed) { attributeStrings.push('Compressed'); } return attributeStrings.join(','); -}; +} // source --https://msdn.microsoft.com/en-us/library/ts2t8ybh(v=vs.84).aspx -let showFreeSpace = (drvPath: string) => { - let fso = new ActiveXObject('Scripting.FileSystemObject'); - let d = fso.GetDrive(fso.GetDriveName(drvPath)); +function showFreeSpace(drvPath: string) { + const fso = new ActiveXObject('Scripting.FileSystemObject'); + const d = fso.GetDrive(fso.GetDriveName(drvPath)); let s = 'Drive ' + drvPath + ' - '; s += d.VolumeName + '
'; s += 'Free Space: ' + d.FreeSpace / 1024 + ' Kbytes'; return (s); -}; +} // source -- https://msdn.microsoft.com/en-us/library/kaf6yaft(v=vs.84).aspx -let getALine = (filespec: string) => { - let fso = new ActiveXObject('Scripting.FileSystemObject'); - let file = fso.OpenTextFile(filespec, Scripting.IOMode.ForReading, false); +function getALine(filespec: string) { + const fso = new ActiveXObject('Scripting.FileSystemObject'); + const file = fso.OpenTextFile(filespec, Scripting.IOMode.ForReading, false); let s = ''; while (!file.AtEndOfLine) { @@ -57,4 +57,4 @@ let getALine = (filespec: string) => { } file.Close(); return (s); -}; +} diff --git a/types/activex-wia/activex-wia-tests.ts b/types/activex-wia/activex-wia-tests.ts index 8384291f5d..b765083870 100644 --- a/types/activex-wia/activex-wia-tests.ts +++ b/types/activex-wia/activex-wia-tests.ts @@ -7,7 +7,7 @@ let img = commonDialog.ShowAcquireImage(); // when DefinitelyTyped supports Typescript 2.4 -- end of July 2017, replace these: let jpegFormatID = '{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}'; if (img.FormatID !== jpegFormatID) { - let ip = new ActiveXObject('WIA.ImageProcess'); + const ip = new ActiveXObject('WIA.ImageProcess'); ip.Filters.Add(ip.FilterInfos.Item('Convert').FilterID); ip.Filters.Item(1).Properties.Item('FormatID').Value = jpegFormatID; img = ip.Apply(img); @@ -24,8 +24,8 @@ if (img.FormatID !== jpegFormatID) { let dev = commonDialog.ShowSelectDevice(); if (dev.Type === WIA.WiaDeviceType.CameraDeviceType) { // when DefinitelyTyped supports Typescript 2.4 -- end of July 2017, replace these: - let commandID = '{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}'; - let itm = dev.ExecuteCommand(commandID); + const commandID = '{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}'; + const itm = dev.ExecuteCommand(commandID); // with this: // let itm = dev.ExecuteCommand(WIA.CommandID.wiaCommandTakePicture); @@ -36,7 +36,7 @@ dev = commonDialog.ShowSelectDevice(); let e = new Enumerator(dev.Properties); // no foreach over ActiveX collections e.moveFirst(); while (!e.atEnd()) { - let p = e.item(); + const p = e.item(); let s = p.Name + ' (' + p.PropertyID + ') = '; if (p.IsVector) { s += '[vector of data]'; @@ -60,7 +60,7 @@ while (!e.atEnd()) { } else { s += ' [valid values include: '; } - let count = p.SubTypeValues.Count; + const count = p.SubTypeValues.Count; for (let i = 1; i <= count; i++) { s += p.SubTypeValues.Item(i); if (i < count) { diff --git a/types/alertify/index.d.ts b/types/alertify/index.d.ts index fa71118381..1eb2699f6f 100644 --- a/types/alertify/index.d.ts +++ b/types/alertify/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for alertify 0.3.11 // Project: http://fabien-d.github.io/alertify.js/ -// Definitions by: John Jeffery +// Definitions by: John Jeffery // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare var alertify: alertify.IAlertifyStatic; diff --git a/types/alexa-sdk/alexa-sdk-tests.ts b/types/alexa-sdk/alexa-sdk-tests.ts index c384bf194d..c77bc93091 100644 --- a/types/alexa-sdk/alexa-sdk-tests.ts +++ b/types/alexa-sdk/alexa-sdk-tests.ts @@ -1,13 +1,13 @@ import * as Alexa from "alexa-sdk"; const handler = (event: Alexa.RequestBody, context: Alexa.Context, callback: () => void) => { - let alexa = Alexa.handler(event, context); + const alexa = Alexa.handler(event, context); alexa.resources = {}; alexa.registerHandlers(handlers); alexa.execute(); }; -let handlers: Alexa.Handlers = { +const handlers: Alexa.Handlers = { 'LaunchRequest': function() { this.emit('SayHello'); }, diff --git a/types/algebra.js/algebra.js-tests.ts b/types/algebra.js/algebra.js-tests.ts index 0dc7f260e7..7b6cebfab8 100644 --- a/types/algebra.js/algebra.js-tests.ts +++ b/types/algebra.js/algebra.js-tests.ts @@ -5,9 +5,9 @@ import { Equation, Expression, Fraction, parse, toTex } from 'algebra.js'; expr = expr.subtract(3); expr = expr.add("x"); expr.toString(); - let eq = new Equation(expr, 4); + const eq = new Equation(expr, 4); eq.toString(); - let x = eq.solveFor("x"); + const x = eq.solveFor("x"); x.toString(); } { @@ -29,7 +29,7 @@ import { Equation, Expression, Fraction, parse, toTex } from 'algebra.js'; x.toString(); x = x.add("y"); x.toString(); - let otherExp = new Expression("x").add(6); + const otherExp = new Expression("x").add(6); x = x.add(otherExp); x.toString(); @@ -54,10 +54,10 @@ import { Equation, Expression, Fraction, parse, toTex } from 'algebra.js'; exp = exp.add("y"); exp = exp.add(3); exp.toString(); - let sum = exp.summation("x", 3, 6); + const sum = exp.summation("x", 3, 6); sum.toString(); exp = new Expression("x").add(2); - let exp3 = exp.pow(3); + const exp3 = exp.pow(3); "(" + exp.toString() + ")^3 = " + exp3.toString(); let expr = new Expression("x"); @@ -66,14 +66,14 @@ import { Equation, Expression, Fraction, parse, toTex } from 'algebra.js'; expr = expr.add("y"); expr = expr.add(new Fraction(1, 3)); expr.toString(); - let answer1 = expr.eval({ x: 2 }); - let answer2 = expr.eval({ x: 2, y: new Fraction(3, 4) }); + const answer1 = expr.eval({ x: 2 }); + const answer2 = expr.eval({ x: 2, y: new Fraction(3, 4) }); answer1.toString(); answer2.toString(); expr = new Expression("x").add(2); expr.toString(); - let sub = new Expression("y").add(4); - let answer = expr.eval({ x: sub }); + const sub = new Expression("y").add(4); + const answer = expr.eval({ x: sub }); answer.toString(); exp = new Expression("x").add(2); exp.toString(); @@ -91,23 +91,23 @@ import { Equation, Expression, Fraction, parse, toTex } from 'algebra.js'; exp.toString(); exp = exp.simplify(); exp.toString(); - let z = new Expression("z"); - let eq1 = new Equation(z.subtract(4).divide(9), z.add(6)); + const z = new Expression("z"); + const eq1 = new Equation(z.subtract(4).divide(9), z.add(6)); eq1.toString(); - let eq2 = new Equation(z.add(4).multiply(9), 6); + const eq2 = new Equation(z.add(4).multiply(9), 6); eq2.toString(); - let eq3 = new Equation(z.divide(2).multiply(7), new Fraction(1, 4)); + const eq3 = new Equation(z.divide(2).multiply(7), new Fraction(1, 4)); eq3.toString(); } { - let x1 = parse("1/5 * x + 2/15"); - let x2 = parse("1/7 * x + 4"); + const x1 = parse("1/5 * x + 2/15"); + const x2 = parse("1/7 * x + 4"); let eq = new Equation(x1 as Expression, x2 as Expression); eq.toString(); - let answer = eq.solveFor("x"); + const answer = eq.solveFor("x"); "x = " + answer.toString(); - let expr1 = parse("1/4 * x + 5/4"); - let expr2 = parse("3 * y - 12/5"); + const expr1 = parse("1/4 * x + 5/4"); + const expr2 = parse("3 * y - 12/5"); eq = new Equation(expr1 as Expression, expr2 as Expression); eq.toString(); let xAnswer = eq.solveFor("x"); @@ -116,14 +116,14 @@ import { Equation, Expression, Fraction, parse, toTex } from 'algebra.js'; "y = " + yAnswer.toString(); let n1 = parse("x + 5") as Expression; let n2 = parse("x - 3/4") as Expression; - let quad = new Equation(n1.multiply(n2), 0); + const quad = new Equation(n1.multiply(n2), 0); quad.toString(); let answers = quad.solveFor("x"); "x = " + answers.toString(); n1 = parse("x + 2") as Expression; n2 = parse("x + 3") as Expression; - let n3 = parse("x + 4") as Expression; - let cubic = new Equation(n1.multiply(n2).multiply(n3), 0); + const n3 = parse("x + 4") as Expression; + const cubic = new Equation(n1.multiply(n2).multiply(n3), 0); cubic.toString(); answers = cubic.solveFor("x"); "x = " + answers.toString(); @@ -143,20 +143,20 @@ import { Equation, Expression, Fraction, parse, toTex } from 'algebra.js'; exp.toString(); } { - let eq = parse("x^2 + 4 * x + 4 = 0") as Equation; + const eq = parse("x^2 + 4 * x + 4 = 0") as Equation; eq.toString(); - let ans = eq.solveFor("x"); + const ans = eq.solveFor("x"); "x = " + ans.toString(); - let a = new Expression("x").pow(2); - let b = new Expression("x").multiply(new Fraction(5, 4)); - let c = new Fraction(-21, 4); - let expr = a.add(b).add(c); - let quad = new Equation(expr, 0); + const a = new Expression("x").pow(2); + const b = new Expression("x").multiply(new Fraction(5, 4)); + const c = new Fraction(-21, 4); + const expr = a.add(b).add(c); + const quad = new Equation(expr, 0); toTex(quad); - let answers = quad.solveFor("x"); + const answers = quad.solveFor("x"); toTex(answers); - let lambda = new Expression("lambda").add(3).divide(4); - let Phi = new Expression("Phi").subtract(new Fraction(1, 5)).add(lambda); + const lambda = new Expression("lambda").add(3).divide(4); + const Phi = new Expression("Phi").subtract(new Fraction(1, 5)).add(lambda); toTex(lambda); toTex(Phi); } diff --git a/types/amplify/amplify-tests.ts b/types/amplify/amplify-tests.ts index 62b00052dd..1277e5e2a3 100644 --- a/types/amplify/amplify-tests.ts +++ b/types/amplify/amplify-tests.ts @@ -168,19 +168,24 @@ amplify.request("twitter-mentions", { user: "amplifyjs" }); // Example: const appEnvelopeDecoder: amplify.Decoder = (data, status, xhr, success, error) => { - if (data.status === "success") { - success(data.data); - } else if (data.status === "fail" || data.status === "error") { - error(data.message, data.status); - } else { - error(data.message, "fatal"); + switch (data.status) { + case "success": + success(data.data); + break; + case "fail": + case "error": + error(data.message, data.status); + break; + default: + error(data.message, "fatal"); + break; } }; // a new decoder can be added to the amplifyDecoders interface declare module "amplify" { interface Decoders { - appEnvelope: amplify.Decoder; + appEnvelope: Decoder; } } @@ -213,12 +218,17 @@ amplify.request.define("decoderSingleExample", "ajax", { url: "/myAjaxUrl", type: "POST", decoder(data, status, xhr, success, error) { - if (data.status === "success") { - success(data.data); - } else if (data.status === "fail" || data.status === "error") { - error(data.message, data.status); - } else { - error(data.message, "fatal"); + switch (data.status) { + case "success": + success(data.data); + break; + case "fail": + case "error": + error(data.message, data.status); + break; + default: + error(data.message, "fatal"); + break; } } }); diff --git a/types/amqplib/tslint.json b/types/amqplib/tslint.json index 4f44991c3c..bfc9508c49 100644 --- a/types/amqplib/tslint.json +++ b/types/amqplib/tslint.json @@ -1,6 +1,8 @@ { "extends": "dtslint/dt.json", "rules": { - "no-empty-interface": false + // All are TODOs + "no-empty-interface": false, + "prefer-const": false } } diff --git a/types/angular-block-ui/angular-block-ui-tests.ts b/types/angular-block-ui/angular-block-ui-tests.ts index 4b3903f9cc..58547fff4d 100644 --- a/types/angular-block-ui/angular-block-ui-tests.ts +++ b/types/angular-block-ui/angular-block-ui-tests.ts @@ -37,5 +37,5 @@ app.controller('Ctrl', ($scope: ng.IScope, blockUI: angular.blockUI.BlockUIServi blockUI.reset(); blockUI.message("Hello Types"); blockUI.done(); - let b: boolean = blockUI.isBlocking(); + const b: boolean = blockUI.isBlocking(); }); diff --git a/types/angular-block-ui/index.d.ts b/types/angular-block-ui/index.d.ts index 7733bc72f7..47ba9902b9 100644 --- a/types/angular-block-ui/index.d.ts +++ b/types/angular-block-ui/index.d.ts @@ -70,7 +70,7 @@ declare module 'angular' { * @param {angular.IRequestConfig} config - the Angular request config object. * */ - requestFilter?(config: angular.IRequestConfig): (string | boolean); + requestFilter?(config: IRequestConfig): (string | boolean); /** * When the module is started it will inject the main block element diff --git a/types/angular-cookies/index.d.ts b/types/angular-cookies/index.d.ts index 502e83a2e9..dc6fd913e9 100644 --- a/types/angular-cookies/index.d.ts +++ b/types/angular-cookies/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for Angular JS (ngCookies module) 1.4 // Project: http://angularjs.org -// Definitions by: Diego Vilar , Anthony Ciccarello +// Definitions by: Diego Vilar , Anthony Ciccarello // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 diff --git a/types/angular-gridster/index.d.ts b/types/angular-gridster/index.d.ts index 3d4fbbe799..22c02b4050 100644 --- a/types/angular-gridster/index.d.ts +++ b/types/angular-gridster/index.d.ts @@ -89,13 +89,13 @@ declare module "angular" { handles?: string[]; // optional callback fired when drag is started - start?(event: angular.IAngularEvent, $element: angular.IAugmentedJQuery, options: any): void; + start?(event: IAngularEvent, $element: IAugmentedJQuery, options: any): void; // optional callback fired when item is resized - resize?(event: angular.IAngularEvent, $element: angular.IAugmentedJQuery, options: any): void; + resize?(event: IAngularEvent, $element: IAugmentedJQuery, options: any): void; // optional callback fired when item is finished dragging - stop?(event: angular.IAngularEvent, $element: angular.IAugmentedJQuery, options: any): void; + stop?(event: IAngularEvent, $element: IAugmentedJQuery, options: any): void; }; // options to pass to draggable handler @@ -113,13 +113,13 @@ declare module "angular" { handle?: string; // optional callback fired when drag is started - start?(event: angular.IAngularEvent, $element: angular.IAugmentedJQuery, options: any): void; + start?(event: IAngularEvent, $element: IAugmentedJQuery, options: any): void; // optional callback fired when item is moved, - drag?(event: angular.IAngularEvent, $element: angular.IAugmentedJQuery, options: any): void; + drag?(event: IAngularEvent, $element: IAugmentedJQuery, options: any): void; // optional callback fired when item is finished dragging - stop?(event: angular.IAngularEvent, $element: angular.IAugmentedJQuery, options: any): void; + stop?(event: IAngularEvent, $element: IAugmentedJQuery, options: any): void; }; } diff --git a/types/angular-material/angular-material-tests.ts b/types/angular-material/angular-material-tests.ts index 5766a81975..79f72f0b5d 100644 --- a/types/angular-material/angular-material-tests.ts +++ b/types/angular-material/angular-material-tests.ts @@ -49,7 +49,7 @@ myApp.config(( return c * t * t + b; }, easeFnIndeterminate(t, b, c, d) { - return c * Math.pow(2, 10 * (t / d - 1)) + b; + return c * Math.pow(2, (t / d - 1) * 10) + b; } }); }); diff --git a/types/angular-material/index.d.ts b/types/angular-material/index.d.ts index 36a43329f6..a8808f92ff 100644 --- a/types/angular-material/index.d.ts +++ b/types/angular-material/index.d.ts @@ -18,7 +18,7 @@ declare module 'angular' { interface IBottomSheetOptions { templateUrl?: string; template?: string; - scope?: angular.IScope; // default: new child scope + scope?: IScope; // default: new child scope preserveScope?: boolean; // default: false controller?: string | Injectable; locals?: { [index: string]: any }; @@ -28,12 +28,12 @@ declare module 'angular' { escapeToClose?: boolean; resolve?: ResolveObject; controllerAs?: string; - parent?: ((scope: angular.IScope, element: JQuery) => Element | JQuery) | string | Element | JQuery; // default: root node + parent?: ((scope: IScope, element: JQuery) => Element | JQuery) | string | Element | JQuery; // default: root node disableParentScroll?: boolean; // default: true } interface IBottomSheetService { - show(options: IBottomSheetOptions): angular.IPromise; + show(options: IBottomSheetOptions): IPromise; hide(response?: any): void; cancel(response?: any): void; } @@ -47,7 +47,7 @@ declare module 'angular' { templateUrl(templateUrl?: string): T; template(template?: string): T; targetEvent(targetEvent?: MouseEvent): T; - scope(scope?: angular.IScope): T; // default: new child scope + scope(scope?: IScope): T; // default: new child scope preserveScope(preserveScope?: boolean): T; // default: false disableParentScroll(disableParentScroll?: boolean): T; // default: true hasBackdrop(hasBackdrop?: boolean): T; // default: true @@ -98,7 +98,7 @@ declare module 'angular' { targetEvent?: MouseEvent; openFrom?: any; closeTo?: any; - scope?: angular.IScope; // default: new child scope + scope?: IScope; // default: new child scope preserveScope?: boolean; // default: false disableParentScroll?: boolean; // default: true hasBackdrop?: boolean; // default: true @@ -111,24 +111,24 @@ declare module 'angular' { resolve?: ResolveObject; controllerAs?: string; parent?: string | Element | JQuery; // default: root node - onShowing?(scope: angular.IScope, element: JQuery): void; - onComplete?(scope: angular.IScope, element: JQuery): void; - onRemoving?(element: JQuery, removePromise: angular.IPromise): void; + onShowing?(scope: IScope, element: JQuery): void; + onComplete?(scope: IScope, element: JQuery): void; + onRemoving?(element: JQuery, removePromise: IPromise): void; skipHide?: boolean; multiple?: boolean; fullscreen?: boolean; // default: false } interface IDialogService { - show(dialog: IDialogOptions | IAlertDialog | IConfirmDialog | IPromptDialog): angular.IPromise; + show(dialog: IDialogOptions | IAlertDialog | IConfirmDialog | IPromptDialog): IPromise; confirm(): IConfirmDialog; alert(): IAlertDialog; prompt(): IPromptDialog; - hide(response?: any): angular.IPromise; + hide(response?: any): IPromise; cancel(response?: any): void; } - type IIcon = (id: string) => angular.IPromise; // id is a unique ID or URL + type IIcon = (id: string) => IPromise; // id is a unique ID or URL interface IIconProvider { icon(id: string, url: string, viewBoxSize?: number): IIconProvider; // viewBoxSize default: 24 @@ -141,16 +141,16 @@ declare module 'angular' { type IMedia = (media: string) => boolean; interface ISidenavObject { - toggle(): angular.IPromise; - open(): angular.IPromise; - close(): angular.IPromise; + toggle(): IPromise; + open(): IPromise; + close(): IPromise; isOpen(): boolean; isLockedOpen(): boolean; onClose(onClose: () => void): void; } interface ISidenavService { - (component: string, enableWait: boolean): angular.IPromise; + (component: string, enableWait: boolean): IPromise; (component: string): ISidenavObject; } @@ -175,7 +175,7 @@ declare module 'angular' { templateUrl?: string; template?: string; autoWrap?: boolean; - scope?: angular.IScope; // default: new child scope + scope?: IScope; // default: new child scope preserveScope?: boolean; // default: false hideDelay?: number | false; // default (ms): 3000 position?: string; // any combination of 'bottom'/'left'/'top'/'right'/'fit'; default: 'bottom left' @@ -189,8 +189,8 @@ declare module 'angular' { } interface IToastService { - show(optionsOrPreset: IToastOptions | IToastPreset): angular.IPromise; - showSimple(content: string): angular.IPromise; + show(optionsOrPreset: IToastOptions | IToastPreset): IPromise; + showSimple(content: string): IPromise; simple(): ISimpleToastPreset; build(): IToastPreset; updateContent(newContent: string): void; @@ -306,7 +306,7 @@ declare module 'angular' { } interface IMenuService { - hide(response?: any, options?: any): angular.IPromise; + hide(response?: any, options?: any): IPromise; } interface IColorPalette { @@ -366,19 +366,19 @@ declare module 'angular' { isAttached: boolean; panelContainer: JQuery; panelEl: JQuery; - open(): angular.IPromise; - close(): angular.IPromise; - attach(): angular.IPromise; - detach(): angular.IPromise; - show(): angular.IPromise; - hide(): angular.IPromise; + open(): IPromise; + close(): IPromise; + attach(): IPromise; + detach(): IPromise; + show(): IPromise; + hide(): IPromise; destroy(): void; addClass(newClass: string): void; removeClass(oldClass: string): void; toggleClass(toggleClass: string): void; updatePosition(position: IPanelPosition): void; - registerInterceptor(type: string, callback: () => angular.IPromise): IPanelRef; - removeInterceptor(type: string, callback: () => angular.IPromise): IPanelRef; + registerInterceptor(type: string, callback: () => IPromise): IPanelRef; + removeInterceptor(type: string, callback: () => IPromise): IPanelRef; removeAllInterceptors(type?: string): IPanelRef; } @@ -407,7 +407,7 @@ declare module 'angular' { interface IPanelService { create(opt_config: IPanelConfig): IPanelRef; - open(opt_config: IPanelConfig): angular.IPromise; + open(opt_config: IPanelConfig): IPromise; newPanelPosition(): IPanelPosition; newPanelAnimation(): IPanelAnimation; xPosition: { diff --git a/types/angular-mocks/index.d.ts b/types/angular-mocks/index.d.ts index 14571e2eba..ac9e6cece3 100644 --- a/types/angular-mocks/index.d.ts +++ b/types/angular-mocks/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for Angular JS (ngMock, ngMockE2E module) 1.5 // Project: http://angularjs.org -// Definitions by: Diego Vilar , Tony Curtis +// Definitions by: Diego Vilar , Tony Curtis // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 diff --git a/types/angular-oauth2/index.d.ts b/types/angular-oauth2/index.d.ts index 1c5e3ac6ed..ef11ee3680 100644 --- a/types/angular-oauth2/index.d.ts +++ b/types/angular-oauth2/index.d.ts @@ -27,9 +27,9 @@ declare module 'angular' { interface OAuth { isAuthenticated(): boolean; - getAccessToken(data: Data, options?: any): angular.IPromise; - getRefreshToken(data?: Data, options?: any): angular.IPromise; - revokeToken(data?: Data, options?: any): angular.IPromise; + getAccessToken(data: Data, options?: any): IPromise; + getRefreshToken(data?: Data, options?: any): IPromise; + revokeToken(data?: Data, options?: any): IPromise; } interface OAuthTokenConfig { diff --git a/types/angular-pdfjs-viewer/index.d.ts b/types/angular-pdfjs-viewer/index.d.ts index 392164bb00..e9c41ef1fe 100644 --- a/types/angular-pdfjs-viewer/index.d.ts +++ b/types/angular-pdfjs-viewer/index.d.ts @@ -8,7 +8,7 @@ import * as angular from 'angular'; declare module 'angular' { namespace pdfjsViewer { - interface ConfigProvider extends angular.IServiceProvider { + interface ConfigProvider extends IServiceProvider { setWorkerSrc(src: string): void; setCmapDir(dir: string): void; setImageDir(dir: string): void; diff --git a/types/angular-resource/angular-resource-tests.ts b/types/angular-resource/angular-resource-tests.ts index c5b71ee39f..4f3a1db1dc 100644 --- a/types/angular-resource/angular-resource-tests.ts +++ b/types/angular-resource/angular-resource-tests.ts @@ -32,7 +32,7 @@ interface IArticleResourceClass extends ng.resource.IResourceClass('/articles/:id', null, { + const articleResource: IArticleResourceClass = $resource('/articles/:id', null, { publish : publishDescriptor, unpublish : { method: 'POST' @@ -51,7 +51,7 @@ function MainController($resource: ng.resource.IResourceService): void { articleResource.unpublish({ id: 1 }); // IResourceClass.get() will be automatically available here - let article: IArticleResource = articleResource.get({id: 1}, function success(): void { + const article: IArticleResource = articleResource.get({id: 1}, function success(): void { // Again, default + custom action here... article.title = 'New Title'; article.$save(); diff --git a/types/angular-resource/index.d.ts b/types/angular-resource/index.d.ts index 4bdc8cc007..13be56637e 100644 --- a/types/angular-resource/index.d.ts +++ b/types/angular-resource/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for Angular JS (ngResource module) 1.5 // Project: http://angularjs.org -// Definitions by: Diego Vilar , Michael Jess +// Definitions by: Diego Vilar , Michael Jess // Definitions: https://github.com/daptiv/DefinitelyTyped // TypeScript Version: 2.3 @@ -74,10 +74,10 @@ declare module 'angular' { params?: any; url?: string; isArray?: boolean; - transformRequest?: angular.IHttpRequestTransformer | angular.IHttpRequestTransformer[]; - transformResponse?: angular.IHttpResponseTransformer | angular.IHttpResponseTransformer[]; + transformRequest?: IHttpRequestTransformer | IHttpRequestTransformer[]; + transformResponse?: IHttpResponseTransformer | IHttpResponseTransformer[]; headers?: any; - cache?: boolean | angular.ICacheObject; + cache?: boolean | ICacheObject; /** * Note: In contrast to $http.config, promises are not supported in $resource, because the same value * would be used for multiple requests. If you are looking for a way to cancel requests, you should @@ -118,15 +118,15 @@ declare module 'angular' { // it's gonna be considered data if the action method is POST, PUT or // PATCH (in other words, methods with body). Otherwise, it's going // to be considered as parameters to the request. - // https://github.com/angular/angular.js/blob/v1.2.0/src/ngResource/resource.js#L461-L465 + // https://github.com/angular/js/blob/v1.2.0/src/ngResource/resource.js#L461-L465 // // Only those methods with an HTTP body do have 'data' as first parameter: - // https://github.com/angular/angular.js/blob/v1.2.0/src/ngResource/resource.js#L463 + // https://github.com/angular/js/blob/v1.2.0/src/ngResource/resource.js#L463 // More specifically, those methods are POST, PUT and PATCH: - // https://github.com/angular/angular.js/blob/v1.2.0/src/ngResource/resource.js#L432 + // https://github.com/angular/js/blob/v1.2.0/src/ngResource/resource.js#L432 // // Also, static calls always return the IResource (or IResourceArray) retrieved - // https://github.com/angular/angular.js/blob/v1.2.0/src/ngResource/resource.js#L538-L549 + // https://github.com/angular/js/blob/v1.2.0/src/ngResource/resource.js#L538-L549 interface IResourceClass { new(dataOrParams?: any): T & IResource; get: IResourceMethod; @@ -141,32 +141,32 @@ declare module 'angular' { } // Instance calls always return the the promise of the request which retrieved the object - // https://github.com/angular/angular.js/blob/v1.2.0/src/ngResource/resource.js#L538-L546 + // https://github.com/angular/js/blob/v1.2.0/src/ngResource/resource.js#L538-L546 interface IResource { - $get(): angular.IPromise; - $get(params?: Object, success?: Function, error?: Function): angular.IPromise; - $get(success: Function, error?: Function): angular.IPromise; + $get(): IPromise; + $get(params?: Object, success?: Function, error?: Function): IPromise; + $get(success: Function, error?: Function): IPromise; - $query(): angular.IPromise>; - $query(params?: Object, success?: Function, error?: Function): angular.IPromise>; - $query(success: Function, error?: Function): angular.IPromise>; + $query(): IPromise>; + $query(params?: Object, success?: Function, error?: Function): IPromise>; + $query(success: Function, error?: Function): IPromise>; - $save(): angular.IPromise; - $save(params?: Object, success?: Function, error?: Function): angular.IPromise; - $save(success: Function, error?: Function): angular.IPromise; + $save(): IPromise; + $save(params?: Object, success?: Function, error?: Function): IPromise; + $save(success: Function, error?: Function): IPromise; - $remove(): angular.IPromise; - $remove(params?: Object, success?: Function, error?: Function): angular.IPromise; - $remove(success: Function, error?: Function): angular.IPromise; + $remove(): IPromise; + $remove(params?: Object, success?: Function, error?: Function): IPromise; + $remove(success: Function, error?: Function): IPromise; - $delete(): angular.IPromise; - $delete(params?: Object, success?: Function, error?: Function): angular.IPromise; - $delete(success: Function, error?: Function): angular.IPromise; + $delete(): IPromise; + $delete(params?: Object, success?: Function, error?: Function): IPromise; + $delete(success: Function, error?: Function): IPromise; $cancelRequest(): void; /** The promise of the original server interaction that created this instance. */ - $promise: angular.IPromise; + $promise: IPromise; $resolved: boolean; toJSON(): T; } @@ -178,18 +178,18 @@ declare module 'angular' { $cancelRequest(): void; /** The promise of the original server interaction that created this collection. */ - $promise: angular.IPromise>; + $promise: IPromise>; $resolved: boolean; } /** when creating a resource factory via IModule.factory */ interface IResourceServiceFactoryFunction { - ($resource: angular.resource.IResourceService): IResourceClass; - >($resource: angular.resource.IResourceService): U; + ($resource: resource.IResourceService): IResourceClass; + >($resource: resource.IResourceService): U; } // IResourceServiceProvider used to configure global settings - interface IResourceServiceProvider extends angular.IServiceProvider { + interface IResourceServiceProvider extends IServiceProvider { defaults: IResourceOptions; } } @@ -197,7 +197,7 @@ declare module 'angular' { /** extensions to base ng based on using angular-resource */ interface IModule { /** creating a resource service factory */ - factory(name: string, resourceServiceFactoryFunction: angular.resource.IResourceServiceFactoryFunction): IModule; + factory(name: string, resourceServiceFactoryFunction: resource.IResourceServiceFactoryFunction): IModule; } namespace auto { @@ -210,7 +210,7 @@ declare module 'angular' { declare global { interface Array { /** The promise of the original server interaction that created this collection. */ - $promise: angular.IPromise; + $promise: IPromise; $resolved: boolean; } } diff --git a/types/angular-sanitize/index.d.ts b/types/angular-sanitize/index.d.ts index 89273b42fb..ad42ec362e 100644 --- a/types/angular-sanitize/index.d.ts +++ b/types/angular-sanitize/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for Angular JS (ngSanitize module) 1.3 // Project: http://angularjs.org -// Definitions by: Diego Vilar +// Definitions by: Diego Vilar // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 diff --git a/types/angular/angular-component-router.d.ts b/types/angular/angular-component-router.d.ts index b8c939f7c8..b8cd8d097e 100644 --- a/types/angular/angular-component-router.d.ts +++ b/types/angular/angular-component-router.d.ts @@ -1,7 +1,7 @@ /* tslint:disable:dt-header variable-name */ // Type definitions for Angular JS 1.5 component router // Project: http://angularjs.org -// Definitions by: David Reher +// Definitions by: David Reher // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare namespace angular { diff --git a/types/angular/angular-tests.ts b/types/angular/angular-tests.ts index 20de01f71f..eec64baed0 100644 --- a/types/angular/angular-tests.ts +++ b/types/angular/angular-tests.ts @@ -339,12 +339,12 @@ namespace TestQ { result = $q.all<{a: number; b: string; }>({a: promiseAny, b: promiseAny}); } { - let result = $q.all({ num: $q.when(2), str: $q.when('test') }); + const result = $q.all({ num: $q.when(2), str: $q.when('test') }); // TS should infer that num is a number and str is a string result.then(r => (r.num * 2) + r.str.indexOf('s')); } { - let result = $q.all({ num: $q.when(2), str: 'test' }); + const result = $q.all({ num: $q.when(2), str: 'test' }); // TS should infer that num is a number and str is a string result.then(r => (r.num * 2) + r.str.indexOf('s')); } @@ -378,7 +378,7 @@ namespace TestQ { let result: angular.IPromise; result = $q.resolve(tResult); result = $q.resolve(promiseTResult); - let result2: angular.IPromise = $q.resolve(Math.random() > 0.5 ? tResult : promiseTOther); + const result2: angular.IPromise = $q.resolve(Math.random() > 0.5 ? tResult : promiseTOther); } // $q.when @@ -388,7 +388,6 @@ namespace TestQ { } { let result: angular.IPromise; - let other: angular.IPromise; let resultOther: angular.IPromise; result = $q.when(tResult); @@ -450,8 +449,8 @@ namespace TestDeferred { // deferred.resolve { let result: void; - result = deferred.resolve() as void; - result = deferred.resolve(tResult) as void; + result = deferred.resolve(); + result = deferred.resolve(tResult); } // deferred.reject @@ -488,7 +487,7 @@ namespace TestInjector { class Foobar { constructor($q) {} } - let result: Foobar = $injector.instantiate(Foobar); + const result: Foobar = $injector.instantiate(Foobar); } // $injector.invoke @@ -496,14 +495,14 @@ namespace TestInjector { function foobar(v: boolean): number { return 7; } - let result = $injector.invoke(foobar); + const result = $injector.invoke(foobar); if (!(typeof result === 'number')) { // This fails to compile if 'result' is not exactly a number. - let expectNever: never = result; + const expectNever: never = result; } - let anyFunction: Function = foobar; - let anyResult: string = $injector.invoke(anyFunction); + const anyFunction: Function = foobar; + const anyResult: string = $injector.invoke(anyFunction); } } @@ -1160,11 +1159,7 @@ function NgModelControllerTyping() { ngModel.$asyncValidators['uniqueUsername'] = (modelValue, viewValue) => { const value = modelValue || viewValue; return $http.get('/api/users/' + value). - then(function resolved() { - return $q.reject('exists'); - }, function rejected() { - return true; - }); + then(() => $q.reject('exists'), () => true); }; } diff --git a/types/angular/index.d.ts b/types/angular/index.d.ts index f6b74517b8..f48a1d3493 100644 --- a/types/angular/index.d.ts +++ b/types/angular/index.d.ts @@ -1,7 +1,7 @@ // Type definitions for Angular JS 1.6 // Project: http://angularjs.org -// Definitions by: Diego Vilar -// Georgii Dolzhykov +// Definitions by: Diego Vilar +// Georgii Dolzhykov // Caleb St-Denis // Leonard Thieu // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/angularfire/index.d.ts b/types/angularfire/index.d.ts index e27cbf5721..de1482b0e3 100644 --- a/types/angularfire/index.d.ts +++ b/types/angularfire/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for AngularFire 0.8.2 // Project: http://angularfire.com -// Definitions by: Dénes Harmath +// Definitions by: Dénes Harmath // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 diff --git a/types/annyang/annyang-tests.ts b/types/annyang/annyang-tests.ts new file mode 100644 index 0000000000..56dd51f417 --- /dev/null +++ b/types/annyang/annyang-tests.ts @@ -0,0 +1,71 @@ +import { Annyang, CommandOption } from 'annyang'; + +declare let annyang: Annyang; +declare let console: any; + +// Tests based on API documentation at https://github.com/TalAter/annyang/blob/master/docs/README.md + +function testStartListening() { + annyang.start({ autoRestart: false }); // $ExpectType void + annyang.start({ autoRestart: false, continuous: false }); // $ExpectType void +} + +function testAddComments() { + let helloFunction = (): string => { + return 'hello'; + }; + + let commands: CommandOption = {'hello :name': helloFunction, howdy: helloFunction}; + let commands2: CommandOption = {hi: helloFunction}; + + annyang.addCommands(commands); // $ExpectType void + annyang.addCommands(commands2); // $ExpectType void + annyang.removeCommands(); // $ExpectType void + annyang.addCommands(commands); // $ExpectType void + annyang.removeCommands('hello'); // $ExpectType void + annyang.removeCommands(['howdy', 'hi']); // $ExpectType void +} + +let notConnected = () => { console.error('network connection error'); }; + +function testAddCallback() { + annyang.addCallback('error', () => console.error('There was an error!') ); // $ExpectType void + + // $ExpectType void + annyang.addCallback('resultMatch', (userSaid, commandText, phrases) => { + console.log(userSaid); + console.log(commandText); + console.log(phrases); + }); + + annyang.addCallback('errorNetwork', notConnected, annyang); // $ExpectType void +} + +function testRemoveCallback() { + let start = () => { console.log('start'); }; + let end = () => { console.log('end'); }; + + annyang.addCallback('start', start); // $ExpectType void + annyang.addCallback('end', end); // $ExpectType void + + annyang.removeCallback(); // $ExpectType void + + annyang.removeCallback('end'); // $ExpectType void + + annyang.removeCallback('start', start); // $ExpectType void + + annyang.removeCallback(undefined, start); // $ExpectType void +} + +function testTrigger() { + annyang.trigger('Time for some thrilling heroics'); + + // $ExpectType void + annyang.trigger( + ['Time for some thrilling heroics', 'Time for some thrilling aerobics'] + ); +} + +function testIsListening() { + annyang.isListening(); // $ExpectType boolean +} diff --git a/types/annyang/index.d.ts b/types/annyang/index.d.ts new file mode 100644 index 0000000000..fee0cb9acb --- /dev/null +++ b/types/annyang/index.d.ts @@ -0,0 +1,230 @@ +// Type definitions for annyang 2.6 +// Project: https://www.talater.com/annyang/ +// Definitions by: Hisham Al-Shurafa +// Lukas Klinzing +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/** + * Options for function `start` + * + * @export + * @interface StartOptions + */ +export interface StartOptions { + /** + * Should annyang restart itself if it is closed indirectly, because of silence or window conflicts? + * + * @type {boolean} + */ + autoRestart?: boolean; + /** + * Allow forcing continuous mode on or off. Annyang is pretty smart about this, so only set this if you know what you're doing. + * + * @type {boolean} + */ + continuous?: boolean; +} + +/** + * A command option that supports custom regular expressions + * + * @export + * @interface CommandOptionRegex + */ +export interface CommandOptionRegex { + /** + * @type {RegExp} + */ + regexp: RegExp; + /** + * @type {() => any} + */ + callback(): void; +} + +/** + * Commands that annyang should listen to + * + * #### Examples: + * ````javascript + * {'hello :name': helloFunction, 'howdy': helloFunction}; + * {'hi': helloFunction}; + * ```` + * @export + * @interface CommandOption + */ +export interface CommandOption { + [command: string]: CommandOptionRegex | (() => void); +} + +/** + * Supported Events that will be triggered to listeners, you attach using `annyang.addCallback()` + * + * `start` - Fired as soon as the browser's Speech Recognition engine starts listening + * `error` - Fired when the browser's Speech Recogntion engine returns an error, this generic error callback will be followed by more accurate error callbacks (both will fire if both are defined) + * `errorNetwork` - Fired when Speech Recognition fails because of a network error + * `errorPermissionBlocked` - Fired when the browser blocks the permission request to use Speech Recognition. + * `errorPermissionDenied` - Fired when the user blocks the permission request to use Speech Recognition. + * `end` - Fired when the browser's Speech Recognition engine stops + * `result` - Fired as soon as some speech was identified. This generic callback will be followed by either the `resultMatch` or `resultNoMatch` callbacks. + * Callback functions registered to this event will include an array of possible phrases the user said as the first argument + * `resultMatch` - Fired when annyang was able to match between what the user said and a registered command + * Callback functions registered to this event will include three arguments in the following order: + * * The phrase the user said that matched a command + * * The command that was matched + * * An array of possible alternative phrases the user might've said + * `resultNoMatch` - Fired when what the user said didn't match any of the registered commands. + * Callback functions registered to this event will include an array of possible phrases the user might've said as the first argument + */ +export type Events = + 'start' | + 'soundstart' | + 'error' | + 'end' | + 'result' | + 'resultMatch' | + 'resultNoMatch' | + 'errorNetwork' | + 'errorPermissionBlocked' | + 'errorPermissionDenied'; + +export interface Annyang { + /** + * Start listening. + * It's a good idea to call this after adding some commands first, but not mandatory. + * + * @param {StartOptions} options + */ + start(options?: StartOptions): void; + + /** + * Stop listening, and turn off mic. + * + */ + abort(): void; + + /** + * Pause listening. annyang will stop responding to commands (until the resume or start methods are called), without turning off the browser's SpeechRecognition engine or the mic. + * + */ + pause(): void; + + /** + * Resumes listening and restores command callback execution when a result matches. + * If SpeechRecognition was aborted (stopped), start it. + * + */ + resume(): void; + + /** + * Turn on output of debug messages to the console. Ugly, but super-handy! + * + * @export + * @param {boolean} [newState=true] Turn on/off debug messages + */ + debug(newState?: boolean): void; + + /** + * Set the language the user will speak in. If this method is not called, defaults to 'en-US'. + * + * @param {string} lang + * @see [Languages](https://github.com/TalAter/annyang/blob/master/docs/FAQ.md#what-languages-are-supported) + */ + setLanguage(lang: string): void; + + /** + * Add commands that annyang will respond to. Similar in syntax to init(), but doesn't remove existing commands. + * + * #### Examples: + * ````javascript + * var commands = {'hello :name': helloFunction, 'howdy': helloFunction}; + * var commands2 = {'hi': helloFunction}; + * + * annyang.addCommands(commands); + * annyang.addCommands(commands2); + * // annyang will now listen to all three commands + * ```` + * + * @param {CommandOption} commands + */ + addCommands(commands: CommandOption): void; + + /** + * Removes all existing commands or a specific command + * #### Examples: + * ````javascript + * var commands : annyang.CommandOption = {'hello': helloFunction, 'howdy': helloFunction, 'hi': helloFunction}; + * + * // Don't respond to hello + * annyang.removeCommands('hello'); + * + * // Remove all existing commands + * annyang.removeCommands(); + * ```` + * @param {string} command + */ + removeCommands(command?: string): void; + + /** + * Removes a list of commands + * #### Examples: + * ````javascript + * var commands : annyang.CommandOption = {'hello': helloFunction, 'howdy': helloFunction, 'hi': helloFunction}; + * // Add some commands + * annyang.addCommands(commands); + * // Don't respond to howdy or hi + * annyang.removeCommands(['howdy', 'hi']); + * ```` + * + * @param {string[]} command + */ + removeCommands(command: string[]): void; + + /** + * @param {Events} event + * @param {(userSaid : string, commandText : string, results : string[]) => void} callback + * @param {*} [context] + */ + addCallback(event: Events, callback: (userSaid?: string, commandText?: string, results?: string[]) => void, context?: any): void; + + /** + * @param {Events} [event] + * @param {Function} [callback] + */ + removeCallback(event?: Events, callback?: (userSaid: string, commandText: string, results: string[]) => void): void; + + /** + * Returns true if speech recognition is currently on. + * Returns false if speech recognition is off or annyang is paused. + * + * @returns {boolean} + */ + isListening(): boolean; + + /** + * Returns the instance of the browser's SpeechRecognition object used by annyang. + * Useful in case you want direct access to the browser's Speech Recognition engine. + * + * @returns {*} + */ + getSpeechRecognizer(): any; + + /** + * Simulate speech being recognized. This will trigger the same events and behavior as when the Speech Recognition + * detects speech. + * + * Can accept either a string containing a single sentence, or an array containing multiple sentences to be checked + * in order until one of them matches a command (similar to the way Speech Recognition Alternatives are parsed) + * + * #### Examples: + * ````javascript + * annyang.trigger('Time for some thrilling heroics'); + * annyang.trigger( + * ['Time for some thrilling heroics', 'Time for some thrilling aerobics'] + * ); + * ```` + * + * @param {string} command + */ + trigger(command: string | string[]): void; +} diff --git a/types/annyang/tsconfig.json b/types/annyang/tsconfig.json new file mode 100644 index 0000000000..f54c7cd18c --- /dev/null +++ b/types/annyang/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "annyang-tests.ts" + ] +} diff --git a/types/annyang/tslint.json b/types/annyang/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/annyang/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/applepayjs/applepayjs-tests.ts b/types/applepayjs/applepayjs-tests.ts index 5adf61e45c..505dbd2daf 100644 --- a/types/applepayjs/applepayjs-tests.ts +++ b/types/applepayjs/applepayjs-tests.ts @@ -6,7 +6,7 @@ declare function it(desc: string, fn: () => void): void; describe("ApplePaySession", () => { it("the constants are defined", () => { - let status = 0; + const status = 0; switch (status) { case ApplePaySession.STATUS_FAILURE: case ApplePaySession.STATUS_INVALID_BILLING_POSTAL_ADDRESS: @@ -43,8 +43,8 @@ describe("ApplePaySession", () => { it("can call static methods", () => { const merchantIdentifier = "MyMerchantId"; - let canMakePayments: boolean = ApplePaySession.canMakePayments(); - let supported: boolean = ApplePaySession.supportsVersion(2); + const canMakePayments: boolean = ApplePaySession.canMakePayments(); + const supported: boolean = ApplePaySession.supportsVersion(2); ApplePaySession.canMakePaymentsWithActiveCard(merchantIdentifier) .then((status: boolean) => { @@ -168,7 +168,7 @@ describe("ApplePaySession", () => { }); describe("ApplePayPaymentRequest", () => { it("can create a new instance", () => { - let paymentRequest: ApplePayJS.ApplePayPaymentRequest = { + const paymentRequest: ApplePayJS.ApplePayPaymentRequest = { applicationData: "ApplicationData", countryCode: "GB", currencyCode: "GBP", @@ -181,8 +181,8 @@ describe("ApplePayPaymentRequest", () => { "amex", "discover", "jcb", - "master​Card", - "private​Label", + "masterCard", + "privateLabel", "visa" ], total: { diff --git a/types/applepayjs/index.d.ts b/types/applepayjs/index.d.ts index 34d3c41a99..f705a4fad2 100644 --- a/types/applepayjs/index.d.ts +++ b/types/applepayjs/index.d.ts @@ -10,7 +10,7 @@ declare class ApplePaySession extends EventTarget { /** * Creates a new instance of the ApplePaySession class. * @param version - The version of the ApplePay JS API you are using. - * @param paymentRequest - An Apple​Pay​Payment​Request object that contains the information that is displayed on the Apple Pay payment sheet. + * @param paymentRequest - An ApplePayPaymentRequest object that contains the information that is displayed on the Apple Pay payment sheet. */ constructor(version: number, paymentRequest: ApplePayJS.ApplePayPaymentRequest); @@ -95,8 +95,8 @@ declare class ApplePaySession extends EventTarget { /** * Call after a payment method has been selected. - * @param newTotal - An Apple​Pay​Line​Item dictionary representing the total price for the purchase. - * @param newLineItems - A sequence of Apple​Pay​Line​Item dictionaries. + * @param newTotal - An ApplePayLineItem dictionary representing the total price for the purchase. + * @param newLineItems - A sequence of ApplePayLineItem dictionaries. */ completePaymentMethodSelection(newTotal: ApplePayJS.ApplePayLineItem, newLineItems: ApplePayJS.ApplePayLineItem[]): void; @@ -104,8 +104,8 @@ declare class ApplePaySession extends EventTarget { * Call after a shipping contact has been selected. * @param status - The status of the shipping contact update. * @param newShippingMethods - A sequence of ApplePayShippingMethod dictionaries. - * @param newTotal - An Apple​Pay​Line​Item dictionary representing the total price for the purchase. - * @param newLineItems - A sequence of Apple​Pay​Line​Item dictionaries. + * @param newTotal - An ApplePayLineItem dictionary representing the total price for the purchase. + * @param newLineItems - A sequence of ApplePayLineItem dictionaries. */ completeShippingContactSelection( status: number, @@ -116,8 +116,8 @@ declare class ApplePaySession extends EventTarget { /** * Call after the shipping method has been selected. * @param status - The status of the shipping method update. - * @param newTotal - An Apple​Pay​Line​Item dictionary representing the total price for the purchase. - * @param newLineItems - A sequence of Apple​Pay​Line​Item dictionaries. + * @param newTotal - An ApplePayLineItem dictionary representing the total price for the purchase. + * @param newLineItems - A sequence of ApplePayLineItem dictionaries. */ completeShippingMethodSelection(status: number, newTotal: ApplePayJS.ApplePayLineItem, newLineItems: ApplePayJS.ApplePayLineItem[]): void; @@ -204,7 +204,7 @@ declare namespace ApplePayJS { } /** - * The Apple​Pay​Payment​Authorized​Event class defines the attributes contained by the ApplePaySession.onpaymentauthorized callback function. + * The ApplePayPaymentAuthorizedEvent class defines the attributes contained by the ApplePaySession.onpaymentauthorized callback function. */ abstract class ApplePayPaymentAuthorizedEvent extends Event { /** @@ -279,7 +279,7 @@ declare namespace ApplePayJS { /** * A string, suitable for display, that is the name of the payment network backing the card. - * The value is one of the supported networks specified in the supported​Networks property of the Apple​Pay​Payment​Request. + * The value is one of the supported networks specified in the supportedNetworks property of the ApplePayPaymentRequest. */ network: string; @@ -295,7 +295,7 @@ declare namespace ApplePayJS { } /** - * The Apple​Pay​Payment​Method​Selected​Event class defines the attributes contained by the ApplePaySession.onpaymentmethodselected callback function. + * The ApplePayPaymentMethodSelectedEvent class defines the attributes contained by the ApplePaySession.onpaymentmethodselected callback function. */ abstract class ApplePayPaymentMethodSelectedEvent extends Event { /** @@ -426,7 +426,7 @@ declare namespace ApplePayJS { } /** - * The Apple​Pay​Shipping​Contact​Selected​Event class defines the attributes contained by the ApplePaySession.onshippingcontactselected callback function. + * The ApplePayShippingContactSelectedEvent class defines the attributes contained by the ApplePaySession.onshippingcontactselected callback function. */ abstract class ApplePayShippingContactSelectedEvent extends Event { /** @@ -461,7 +461,7 @@ declare namespace ApplePayJS { } /** - * The Apple​Pay​Shipping​Method​Selected​Event class defines the attribute contained by the ApplePaySession.onshippingmethodselected callback function. + * The ApplePayShippingMethodSelectedEvent class defines the attribute contained by the ApplePaySession.onshippingmethodselected callback function. */ abstract class ApplePayShippingMethodSelectedEvent extends Event { /** @@ -471,7 +471,7 @@ declare namespace ApplePayJS { } /** - * The Apple​Pay​Validate​Merchant​Event class defines the attributes contained by the ApplePaySession.onvalidatemerchant callback function. + * The ApplePayValidateMerchantEvent class defines the attributes contained by the ApplePaySession.onvalidatemerchant callback function. */ abstract class ApplePayValidateMerchantEvent extends Event { /** diff --git a/types/applicationinsights-js/applicationinsights-js-tests.ts b/types/applicationinsights-js/applicationinsights-js-tests.ts index ecefb6d41a..49c68181f8 100644 --- a/types/applicationinsights-js/applicationinsights-js-tests.ts +++ b/types/applicationinsights-js/applicationinsights-js-tests.ts @@ -123,7 +123,7 @@ context.addTelemetryInitializer(envelope => { }); // a sample from: https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#example context.addTelemetryInitializer(envelope => { - let telemetryItem = envelope.data.baseData; + const telemetryItem = envelope.data.baseData; if (envelope.name === Microsoft.ApplicationInsights.Telemetry.PageView.envelopeType) { telemetryItem.url = "URL CENSORED"; } diff --git a/types/applicationinsights-js/tslint.json b/types/applicationinsights-js/tslint.json index 0cc2f62b56..4b24c7ab0a 100644 --- a/types/applicationinsights-js/tslint.json +++ b/types/applicationinsights-js/tslint.json @@ -1,8 +1,11 @@ { "extends": "dtslint/dt.json", "rules": { - "interface-name": [ false ], + // All are TODOs + "interface-name": false, "no-internal-module": false, - "no-single-declare-module": false + "no-mergeable-namespace": false, + "no-single-declare-module": false, + "no-unnecessary-qualifier": false } } diff --git a/types/argparse/index.d.ts b/types/argparse/index.d.ts index 845d5d8fd3..2661b01c12 100644 --- a/types/argparse/index.d.ts +++ b/types/argparse/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for argparse v1.0.3 // Project: https://github.com/nodeca/argparse -// Definitions by: Andrew Schurman +// Definitions by: Andrew Schurman // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/ascii2mathml/ascii2mathml-tests.ts b/types/ascii2mathml/ascii2mathml-tests.ts new file mode 100644 index 0000000000..9cb54443a4 --- /dev/null +++ b/types/ascii2mathml/ascii2mathml-tests.ts @@ -0,0 +1,17 @@ +import * as ascii2mathml from 'ascii2mathml'; + +let fn = ascii2mathml({}); // $ExpectType any +fn(''); // $ExpectType string +ascii2mathml('', {}); // $ExpectType string + +// $ExpectType string +ascii2mathml('', { + decimalMark: '.', + colSep: ',', + rowSep: ';', + display: 'inline', + dir: 'ltr', + bare: false, + standalone: false, + annotate: false +}); diff --git a/types/ascii2mathml/index.d.ts b/types/ascii2mathml/index.d.ts new file mode 100644 index 0000000000..2b02dfea15 --- /dev/null +++ b/types/ascii2mathml/index.d.ts @@ -0,0 +1,35 @@ +// Type definitions for ascii2mathml 0.5 +// Project: https://github.com/runarberg/ascii2mathml +// Definitions by: Muhammad Ragib Hasin +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export = A2MML; + +declare var A2MML: ascii2mathml; + +interface Options { + decimalMark?: string; + colSep?: string; + rowSep?: string; + display?: 'inline' | 'block'; + dir?: 'ltr' | 'rtl'; + bare?: boolean; + standalone?: boolean; + annotate?: boolean; +} + +interface ascii2mathml { + /** + * Generates a function with default options set to convert + * ASCIIMath expression to MathML markup. + * @param options Options + */ + (options: Options): ascii2mathml; + + /** + * Converts ASCIIMath expression to MathML markup. + * @param asciimath {string} ASCIIMath expression + * @param options Options + */ + (asciimath: string, options?: Options): string; +} diff --git a/types/ascii2mathml/tsconfig.json b/types/ascii2mathml/tsconfig.json new file mode 100644 index 0000000000..22e7823b58 --- /dev/null +++ b/types/ascii2mathml/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "ascii2mathml-tests.ts" + ] +} diff --git a/types/ascii2mathml/tslint.json b/types/ascii2mathml/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/ascii2mathml/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/askmethat-rating/askmethat-rating-tests.ts b/types/askmethat-rating/askmethat-rating-tests.ts index af0ab3cb88..af985d6358 100644 --- a/types/askmethat-rating/askmethat-rating-tests.ts +++ b/types/askmethat-rating/askmethat-rating-tests.ts @@ -1,6 +1,6 @@ import { AskmethatRating, AskmethatRatingSteps } from "askmethat-rating"; -let options = { +const options = { backgroundColor: "#e5e500", hoverColor: "#ffff66", fontClass: "fa fa-star", @@ -11,8 +11,8 @@ let options = { inputName: "AskmethatRating" }; -let div = document.createElement("div"); -let amcRating = new AskmethatRating(div, 2 , options); +const div = document.createElement("div"); +const amcRating = new AskmethatRating(div, 2 , options); options.readonly = true; amcRating.defaultOptions = options; diff --git a/types/auth0-lock/auth0-lock-tests.ts b/types/auth0-lock/auth0-lock-tests.ts index 3abe93a7c2..0642453a13 100644 --- a/types/auth0-lock/auth0-lock-tests.ts +++ b/types/auth0-lock/auth0-lock-tests.ts @@ -4,7 +4,7 @@ import Auth0Lock from 'auth0-lock'; const CLIENT_ID = "YOUR_AUTH0_APP_CLIENTID"; const DOMAIN = "YOUR_DOMAIN_AT.auth0.com"; -var lock: Auth0LockStatic = new Auth0Lock(CLIENT_ID, DOMAIN); +const lock: Auth0LockStatic = new Auth0Lock(CLIENT_ID, DOMAIN); lock.show(); lock.hide(); @@ -12,7 +12,7 @@ lock.logout(() => {}); // Show supports UI arguments -var showOptions : Auth0LockShowOptions = { +const showOptions : Auth0LockShowOptions = { allowedConnections: [ "twitter", "facebook" ], allowSignUp: true, allowForgotPassword: false, @@ -63,7 +63,7 @@ lock.on("authenticated", function(authResult : any) { // test theme -var themeOptions : Auth0LockConstructorOptions = { +const themeOptions : Auth0LockConstructorOptions = { theme: { authButtons: { fooProvider: { @@ -86,7 +86,7 @@ new Auth0Lock(CLIENT_ID, DOMAIN, themeOptions); // test empty theme -var themeOptionsEmpty : Auth0LockConstructorOptions = { +const themeOptionsEmpty : Auth0LockConstructorOptions = { theme: { } }; @@ -94,7 +94,7 @@ new Auth0Lock(CLIENT_ID, DOMAIN, themeOptions); // test authentication -var authOptions : Auth0LockConstructorOptions = { +const authOptions : Auth0LockConstructorOptions = { auth: { params: { state: "foo" }, redirect: true, @@ -108,7 +108,7 @@ new Auth0Lock(CLIENT_ID, DOMAIN, authOptions); // test multi-variant example -var multiVariantOptions : Auth0LockConstructorOptions = { +const multiVariantOptions : Auth0LockConstructorOptions = { container: "myContainer", closable: false, languageDictionary: { @@ -122,7 +122,7 @@ new Auth0Lock(CLIENT_ID, DOMAIN, multiVariantOptions); // test text-field additional sign up field -var textFieldOptions : Auth0LockConstructorOptions = { +const textFieldOptions : Auth0LockConstructorOptions = { additionalSignUpFields: [{ name: "address", placeholder: "enter your address", @@ -142,7 +142,7 @@ new Auth0Lock(CLIENT_ID, DOMAIN, textFieldOptions); // test select-field additional sign up field -var selectFieldOptions : Auth0LockConstructorOptions = { +const selectFieldOptions : Auth0LockConstructorOptions = { additionalSignUpFields: [{ type: "select", name: "location", @@ -162,7 +162,7 @@ new Auth0Lock(CLIENT_ID, DOMAIN, selectFieldOptions); // test select-field additional sign up field with callbacks for -var selectFieldOptionsWithCallbacks : Auth0LockConstructorOptions = { +const selectFieldOptionsWithCallbacks : Auth0LockConstructorOptions = { additionalSignUpFields: [{ type: "select", name: "location", @@ -171,7 +171,7 @@ var selectFieldOptionsWithCallbacks : Auth0LockConstructorOptions = { // obtain options, in case of error you call cb with the error in the // first arg instead of null - let options = [ + const options = [ {value: "us", label: "United States"}, {value: "fr", label: "France"}, {value: "ar", label: "Argentina"} @@ -184,7 +184,7 @@ var selectFieldOptionsWithCallbacks : Auth0LockConstructorOptions = { // obtain prefill, in case of error you call cb with the error in the // first arg instead of null - let prefill = "us"; + const prefill = "us"; cb(null, prefill); } @@ -195,13 +195,13 @@ new Auth0Lock(CLIENT_ID, DOMAIN, selectFieldOptionsWithCallbacks); // test Avatar options -var avatarOptions : Auth0LockConstructorOptions = { +const avatarOptions : Auth0LockConstructorOptions = { avatar: { url: (email : string, cb : Auth0LockAvatarUrlCallback) => { // obtain url for email, in case of error you call cb with the error in // the first arg instead of null - let url = "url"; + const url = "url"; cb(null, url); }, @@ -209,7 +209,7 @@ var avatarOptions : Auth0LockConstructorOptions = { // obtain displayName for email, in case of error you call cb with the // error in the first arg instead of null - let displayName = "displayName"; + const displayName = "displayName"; cb(null, displayName); } @@ -218,7 +218,7 @@ var avatarOptions : Auth0LockConstructorOptions = { new Auth0Lock(CLIENT_ID, DOMAIN, avatarOptions); -var authResult : AuthResult = { +const authResult : AuthResult = { accessToken: 'fake_access_token', idToken: 'fake_id_token', idTokenPayload: { diff --git a/types/auth0/index.d.ts b/types/auth0/index.d.ts index 07a316268a..cb84c7a6bd 100644 --- a/types/auth0/index.d.ts +++ b/types/auth0/index.d.ts @@ -360,6 +360,7 @@ export class ManagementClient { // Users getUsers(params?: GetUsersData): Promise; + getUsers(cb: (err: Error, users: User[]) => void): void; getUsers(params?: GetUsersData, cb?: (err: Error, users: User[]) => void): void; getUser(params: ObjectWithId): Promise; diff --git a/types/auto-sni/auto-sni-tests.ts b/types/auto-sni/auto-sni-tests.ts index a271a1a1ad..6be54148fb 100644 --- a/types/auto-sni/auto-sni-tests.ts +++ b/types/auto-sni/auto-sni-tests.ts @@ -1,5 +1,5 @@ import * as autosni from "auto-sni"; -let a = autosni({ +const a = autosni({ agreeTos: true, email: '', domains: [''] diff --git a/types/babel-generator/babel-generator-tests.ts b/types/babel-generator/babel-generator-tests.ts index 1aeec38831..5efb98ba24 100644 --- a/types/babel-generator/babel-generator-tests.ts +++ b/types/babel-generator/babel-generator-tests.ts @@ -11,7 +11,7 @@ ast.loc.start; const output = generate(ast, { /* options */ }, code); // Example from https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#babel-generator -let result = generate(ast, { +const result = generate(ast, { retainLines: false, compact: "auto", concise: false, diff --git a/types/babel-traverse/babel-traverse-tests.ts b/types/babel-traverse/babel-traverse-tests.ts index 571620fd09..1dd95060e4 100644 --- a/types/babel-traverse/babel-traverse-tests.ts +++ b/types/babel-traverse/babel-traverse-tests.ts @@ -29,7 +29,7 @@ const ast = babylon.parse(code); traverse(ast, { enter(path) { - let node = path.node; + const node = path.node; if (t.isIdentifier(node) && node.name === "n") { node.name = "x"; } @@ -85,10 +85,10 @@ const v1: Visitor = { // ... } - let id1 = path.scope.generateUidIdentifier("uid"); + const id1 = path.scope.generateUidIdentifier("uid"); id1.type; id1.name; - let id2 = path.scope.generateUidIdentifier("uid"); + const id2 = path.scope.generateUidIdentifier("uid"); id2.type; id2.name; diff --git a/types/babel-traverse/index.d.ts b/types/babel-traverse/index.d.ts index 01f00c75c8..526f8ffd1c 100644 --- a/types/babel-traverse/index.d.ts +++ b/types/babel-traverse/index.d.ts @@ -8,7 +8,7 @@ import * as t from 'babel-types'; export type Node = t.Node; -export default function traverse(parent: Node | Node[], opts?: TraverseOptions, scope?: Scope, state?: any, parentPath?: NodePath): void; +export default function traverse(parent: Node | Node[], opts?: TraverseOptions, scope?: Scope, state?: any, parentPath?: NodePath): void; export interface TraverseOptions extends Visitor { scope?: Scope; @@ -16,8 +16,8 @@ export interface TraverseOptions extends Visitor { } export class Scope { - constructor(path: NodePath, parentScope?: Scope); - path: NodePath; + constructor(path: NodePath, parentScope?: Scope); + path: NodePath; block: Node; parentBlock: Node; parent: Scope; @@ -61,13 +61,13 @@ export class Scope { toArray(node: Node, i?: number): Node; - registerDeclaration(path: NodePath): void; + registerDeclaration(path: NodePath): void; buildUndefinedNode(): Node; - registerConstantViolation(path: NodePath): void; + registerConstantViolation(path: NodePath): void; - registerBinding(kind: string, path: NodePath, bindingPath?: NodePath): void; + registerBinding(kind: string, path: NodePath, bindingPath?: NodePath): void; addGlobal(node: Node): void; @@ -121,16 +121,16 @@ export class Scope { } export class Binding { - constructor(opts: { existing: Binding; identifier: t.Identifier; scope: Scope; path: NodePath; kind: 'var' | 'let' | 'const'; }); + constructor(opts: { existing: Binding; identifier: t.Identifier; scope: Scope; path: NodePath; kind: 'var' | 'let' | 'const'; }); identifier: t.Identifier; scope: Scope; - path: NodePath; + path: NodePath; kind: 'var' | 'let' | 'const' | 'module'; referenced: boolean; references: number; - referencePaths: Array>; + referencePaths: NodePath[]; constant: boolean; - constantViolations: Array>; + constantViolations: NodePath[]; } export interface Visitor extends VisitNodeObject { @@ -328,7 +328,7 @@ export class NodePath { state: any; opts: object; skipKeys: object; - parentPath: NodePath; + parentPath: NodePath; context: TraversalContext; container: object | object[]; listKey: string; @@ -362,15 +362,15 @@ export class NodePath { * Call the provided `callback` with the `NodePath`s of all the parents. * When the `callback` returns a truthy value, we return that node path. */ - findParent(callback: (path: NodePath) => boolean): NodePath; + findParent(callback: (path: NodePath) => boolean): NodePath; - find(callback: (path: NodePath) => boolean): NodePath; + find(callback: (path: NodePath) => boolean): NodePath; /** Get the parent function of the current path. */ - getFunctionParent(): NodePath; + getFunctionParent(): NodePath; /** Walk up the tree until we hit a parent node path in a list. */ - getStatementParent(): NodePath; + getStatementParent(): NodePath; /** * Get the deepest common ancestor and then from it, get the earliest relationship path @@ -379,20 +379,20 @@ export class NodePath { * Earliest is defined as being "before" all the other nodes in terms of list container * position and visiting key. */ - getEarliestCommonAncestorFrom(paths: Array>): Array>; + getEarliestCommonAncestorFrom(paths: NodePath[]): NodePath[]; /** Get the earliest path in the tree where the provided `paths` intersect. */ getDeepestCommonAncestorFrom( - paths: Array>, - filter?: (deepest: Node, i: number, ancestries: Array>) => NodePath - ): NodePath; + paths: NodePath[], + filter?: (deepest: Node, i: number, ancestries: NodePath[]) => NodePath + ): NodePath; /** * Build an array of node paths containing the entire ancestry of the current node path. * * NOTE: The current node path is included in this. */ - getAncestry(): Array>; + getAncestry(): NodePath[]; inType(...candidateTypes: string[]): boolean; @@ -404,7 +404,7 @@ export class NodePath { couldBeBaseType(name: string): boolean; - baseTypeStrictlyMatches(right: NodePath): boolean; + baseTypeStrictlyMatches(right: NodePath): boolean; isGenericType(genericName: string): boolean; @@ -428,7 +428,7 @@ export class NodePath { replaceWithSourceString(replacement: any): void; /** Replace the current node with another. */ - replaceWith(replacement: Node | NodePath): void; + replaceWith(replacement: Node | NodePath): void; /** * This method takes an array of statements nodes and then explodes it @@ -573,13 +573,13 @@ export class NodePath { hoist(scope: Scope): void; // ------------------------- family ------------------------- - getOpposite(): NodePath; + getOpposite(): NodePath; - getCompletionRecords(): Array>; + getCompletionRecords(): NodePath[]; - getSibling(key: string): NodePath; + getSibling(key: string): NodePath; - get(key: string, context?: boolean | TraversalContext): NodePath; + get(key: string, context?: boolean | TraversalContext): NodePath; getBindingIdentifiers(duplicates?: boolean): Node[]; @@ -960,7 +960,7 @@ export class Hub { } export interface TraversalContext { - parentPath: NodePath; + parentPath: NodePath; scope: Scope; state: any; opts: any; diff --git a/types/babel-types/babel-types-tests.ts b/types/babel-types/babel-types-tests.ts index 0ef79f39f4..af8ab2d0b7 100644 --- a/types/babel-types/babel-types-tests.ts +++ b/types/babel-types/babel-types-tests.ts @@ -2,11 +2,11 @@ import traverse from "babel-traverse"; import * as t from "babel-types"; -let ast: t.Node; +declare const ast: t.Node; traverse(ast, { enter(path) { - let node = path.node; + const node = path.node; if (t.isIdentifier(node, { name: "n" })) { node.name = "x"; } @@ -31,7 +31,7 @@ const exp: t.Expression = t.nullLiteral(); // https://github.com/babel/babel/blob/4e50b2d9d9c376cee7a2cbf56553fe5b982ea53c/packages/babel-plugin-transform-react-inline-elements/src/index.js#L61 traverse(ast, { JSXElement(path, file) { - const { node } = path; + const { node } = path; const open = node.openingElement; // init diff --git a/types/babylon/babylon-tests.ts b/types/babylon/babylon-tests.ts index d844b9a8f7..2a5ddfcb57 100644 --- a/types/babylon/babylon-tests.ts +++ b/types/babylon/babylon-tests.ts @@ -6,7 +6,7 @@ const code = `function square(n) { return n * n; }`; -let node = babylon.parse(code); +const node = babylon.parse(code); assert(node.type === "File"); assert(node.start === 0); assert(node.end === 38); diff --git a/types/bagpipes/bagpipes-tests.ts b/types/bagpipes/bagpipes-tests.ts index af7dfa0a31..eaa412d56b 100755 --- a/types/bagpipes/bagpipes-tests.ts +++ b/types/bagpipes/bagpipes-tests.ts @@ -56,11 +56,11 @@ const pipesConfigFullEmpty: Bagpipes.Config = { userViewsDirs: [] }; -let pipesA = Bagpipes.create(perDefsMixed, { +const pipesA = Bagpipes.create(perDefsMixed, { connectMiddlewareDirs: ['some_dir', 'ssssss'], swaggerNodeRunner: {} }); -let pipeA = pipesA.getPipe('HelloWorld'); +const pipeA = pipesA.getPipe('HelloWorld'); // log the output to standard out pipeA.fit((context, cb) => { @@ -81,7 +81,7 @@ const pipeErrTest = pipesEnty.pipes['any'].fit((context, cb) => { pipesEnty.play(pipeErrTest, {}); const fittingsC = ["xxxx", "aaa"].map((name) => { - let fittingDef = {} as Bagpipes.PipeDefMap; + const fittingDef = {} as Bagpipes.PipeDefMap; fittingDef[name] = 'nothing'; return fittingDef; }); @@ -95,6 +95,6 @@ bagpipesD.play(bagpipesD.getPipe('objPipe'), {}); // Test full create const userFittingsDirs = ['./fixtures/fittings']; const pipeWithString = ['emit']; -let contextPlain = {}; +const contextPlain = {}; const bagpipesWithPipeAndFittings = Bagpipes.create({ myCustomPipe: pipeWithString }, { userFittingsDirs }); bagpipesWithPipeAndFittings.play(bagpipesWithPipeAndFittings.getPipe('myCustomPipe'), contextPlain); diff --git a/types/baidumap-web-sdk/baidumap-web-sdk-tests.ts b/types/baidumap-web-sdk/baidumap-web-sdk-tests.ts index cc525509c6..8ac6457975 100644 --- a/types/baidumap-web-sdk/baidumap-web-sdk-tests.ts +++ b/types/baidumap-web-sdk/baidumap-web-sdk-tests.ts @@ -4,8 +4,8 @@ namespace BMapTests { //document: http://lbsyun.baidu.com/index.php?title=jspopular public createMap(container: string | HTMLElement) { navigator.geolocation.getCurrentPosition((position: Position) => { - let point = new BMap.Point(position.coords.longitude, position.coords.latitude); - let map = new BMap.Map(container); + const point = new BMap.Point(position.coords.longitude, position.coords.latitude); + const map = new BMap.Map(container); map.centerAndZoom(point, 15); }, console.log, { maximumAge: 3000, timeout: 5000, enableHighAccuracy: true }); } @@ -16,7 +16,7 @@ namespace BMapTests { map.addControl(new BMap.OverviewMapControl({ isOpen: true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT })); } public addMarker(map: BMap.Map, point: BMap.Point) { - var marker = new BMap.Marker(point); + const marker = new BMap.Marker(point); map.addOverlay(marker); marker.setAnimation(BMAP_ANIMATION_BOUNCE); } diff --git a/types/batch-stream/index.d.ts b/types/batch-stream/index.d.ts index 26c433a04b..2ab8c6b8c5 100644 --- a/types/batch-stream/index.d.ts +++ b/types/batch-stream/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for batch-stream 0.1.2 // Project: https://github.com/segmentio/batch-stream -// Definitions by: Nicholas Penree +// Definitions by: Nicholas Penree // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// diff --git a/types/bignumber.js/bignumber.js-tests.ts b/types/bignumber.js/bignumber.js-tests.ts index 8ea0775dba..424665d8ba 100644 --- a/types/bignumber.js/bignumber.js-tests.ts +++ b/types/bignumber.js/bignumber.js-tests.ts @@ -182,7 +182,7 @@ x.floor(); y = new BigNumber(-1.3); y.floor(); -0.1 > (0.3 - 0.2); +0.1 > (0.3 - 0.2); // tslint:disable-line binary-expression-operand-order x = new BigNumber(0.1); x.greaterThan(BigNumber(0.3).minus(0.2)); BigNumber(0).gt(x); diff --git a/types/bleno/bleno-tests.ts b/types/bleno/bleno-tests.ts index 7dcb47ff35..bd4b6971ee 100644 --- a/types/bleno/bleno-tests.ts +++ b/types/bleno/bleno-tests.ts @@ -45,7 +45,7 @@ Bleno.on('stateChange', (state: string) => { } }); -let characteristic = new EchoCharacteristic(); +const characteristic = new EchoCharacteristic(); Bleno.on('advertisingStart', (error: string) => { if (!error) { Bleno.setServices( diff --git a/types/bloomfilter/bloomfilter-tests.ts b/types/bloomfilter/bloomfilter-tests.ts index 650cc97eb4..96ee0443b6 100644 --- a/types/bloomfilter/bloomfilter-tests.ts +++ b/types/bloomfilter/bloomfilter-tests.ts @@ -1,7 +1,7 @@ import { BloomFilter } from 'bloomfilter'; function test_bloomfilter() { - const m: number = 10; - const k: number = 2; + const m = 10; + const k = 2; const bloomFilter = new BloomFilter(m, k); const array: Int32Array[] = bloomFilter.buckets; diff --git a/types/bookshelf/index.d.ts b/types/bookshelf/index.d.ts index 914107816f..1d7a6feb14 100644 --- a/types/bookshelf/index.d.ts +++ b/types/bookshelf/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for bookshelfjs v0.9.3 // Project: http://bookshelfjs.org/ -// Definitions by: Andrew Schurman , Vesa Poikajärvi +// Definitions by: Andrew Schurman , Vesa Poikajärvi // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 diff --git a/types/boom/index.d.ts b/types/boom/index.d.ts index 97a0f7ef59..8025a7ddab 100644 --- a/types/boom/index.d.ts +++ b/types/boom/index.d.ts @@ -1,8 +1,8 @@ // Type definitions for boom 4.3 -// Project: http://github.com/hapijs/boom -// Definitions by: Igor Rogatty -// AJP -// Jinesh Shah +// Project: https://github.com/hapijs/boom +// Definitions by: Igor Rogatty +// AJP +// Jinesh Shah // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 diff --git a/types/boom/v3/index.d.ts b/types/boom/v3/index.d.ts index 2c0a3ce21d..adf433c9f4 100644 --- a/types/boom/v3/index.d.ts +++ b/types/boom/v3/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for boom 3.2 -// Project: http://github.com/hapijs/boom -// Definitions by: Igor Rogatty +// Project: https://github.com/hapijs/boom +// Definitions by: Igor Rogatty // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// diff --git a/types/bootstrap.v3.datetimepicker/bootstrap.v3.datetimepicker-tests.ts b/types/bootstrap.v3.datetimepicker/bootstrap.v3.datetimepicker-tests.ts index 9f2b780f44..fe985e229f 100644 --- a/types/bootstrap.v3.datetimepicker/bootstrap.v3.datetimepicker-tests.ts +++ b/types/bootstrap.v3.datetimepicker/bootstrap.v3.datetimepicker-tests.ts @@ -118,7 +118,7 @@ function test_timeZone() { function test_widgetParent() { let nullW: null = null; - let str: string = "myId"; + let str = "myId"; let jquery = $("#element"); $("#picker").datetimepicker({ diff --git a/types/bootstrap.v3.datetimepicker/index.d.ts b/types/bootstrap.v3.datetimepicker/index.d.ts index 9f2f5dda78..7b1d3877ba 100644 --- a/types/bootstrap.v3.datetimepicker/index.d.ts +++ b/types/bootstrap.v3.datetimepicker/index.d.ts @@ -589,7 +589,7 @@ export interface UpdateEvent extends JQueryEventObject { viewDate: moment.Moment; } -export type EventName = "dp.show" | "dp.hide" | "dp.error"; +export type EventName = "dp.show" | "dp.hide" | "dp.error"; declare global { interface JQuery { diff --git a/types/bounce.js/index.d.ts b/types/bounce.js/index.d.ts index 0db872fb30..c90f709a97 100644 --- a/types/bounce.js/index.d.ts +++ b/types/bounce.js/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for Bounce.js v0.8.2 -// Project: http://github.com/tictail/bounce.js -// Definitions by: Cherry +// Project: https://github.com/tictail/bounce.js +// Definitions by: Cherry // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 diff --git a/types/box2d/README.md b/types/box2d/README.md index 9a775a1962..e16b327ee1 100644 --- a/types/box2d/README.md +++ b/types/box2d/README.md @@ -73,7 +73,7 @@ Change Log License ======= -Box2DWeb-2.1.d.ts Copyright (c) 2012 Josh Baldwin http://github.com/jbaldwin/box2dweb.d.ts +Box2DWeb-2.1.d.ts Copyright (c) 2012 Josh Baldwin https://github.com/jbaldwin/box2dweb.d.ts There are a few competing javascript Box2D ports. This definitions file is for Box2dWeb.js -> http://code.google.com/p/box2dweb/ diff --git a/types/box2d/index.d.ts b/types/box2d/index.d.ts index 26411b2198..181c5537d2 100644 --- a/types/box2d/index.d.ts +++ b/types/box2d/index.d.ts @@ -4,7 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /** -* Box2DWeb-2.1.d.ts Copyright (c) 2012-2013 Josh Baldwin http://github.com/jbaldwin/box2dweb.d.ts +* Box2DWeb-2.1.d.ts Copyright (c) 2012-2013 Josh Baldwin https://github.com/jbaldwin/box2dweb.d.ts * There are a few competing javascript Box2D ports. * This definitions file is for Box2dWeb.js -> * http://code.google.com/p/box2dweb/ diff --git a/types/browser-sync/index.d.ts b/types/browser-sync/index.d.ts index 449063192d..ade12d3cb6 100644 --- a/types/browser-sync/index.d.ts +++ b/types/browser-sync/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for browser-sync // Project: http://www.browsersync.io/ -// Definitions by: Asana , Joe Skeen +// Definitions by: Asana , Joe Skeen // Thomas "Thasmo" Deinhamer // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/bunyan/bunyan-tests.ts b/types/bunyan/bunyan-tests.ts index d4c4f61e1c..ffdfb2e911 100644 --- a/types/bunyan/bunyan-tests.ts +++ b/types/bunyan/bunyan-tests.ts @@ -1,13 +1,10 @@ import Logger = require('bunyan'); -let ringBufferOptions: Logger.RingBufferOptions = { +const ringBufferOptions: Logger.RingBufferOptions = { limit: 100 }; -let ringBuffer: Logger.RingBuffer = new Logger.RingBuffer(ringBufferOptions); +const ringBuffer: Logger.RingBuffer = new Logger.RingBuffer(ringBufferOptions); ringBuffer.write("hello"); -ringBuffer.end(); -ringBuffer.destroy(); -ringBuffer.destroySoon(); let level: number; level = Logger.resolveLevel("trace"); @@ -23,13 +20,14 @@ level = Logger.resolveLevel(Logger.WARN); level = Logger.resolveLevel(Logger.ERROR); level = Logger.resolveLevel(Logger.FATAL); -let options: Logger.LoggerOptions = { +const options: Logger.LoggerOptions = { name: 'test-logger', serializers: Logger.stdSerializers, streams: [{ type: 'stream', stream: process.stdout, - level: Logger.TRACE + level: Logger.TRACE, + name: 'foo' }, { type: 'file', path: '/tmp/test.log', @@ -45,7 +43,7 @@ let options: Logger.LoggerOptions = { }, { type: 'raw', stream: process.stderr, - level: Logger.WARN + level: Logger.FATAL + 1, // disabled, as stderr explodes when given raw streams }, { type: 'raw', stream: ringBuffer, @@ -53,9 +51,9 @@ let options: Logger.LoggerOptions = { }] }; -let log = Logger.createLogger(options); +const log = Logger.createLogger(options); -let customSerializer = (anything: any) => { +const customSerializer = (anything: any) => { return { obj: anything }; }; @@ -69,19 +67,17 @@ log.addSerializers( } ); -let child = log.child({ name: 'child' }); -child.reopenFileStreams(); -log.addStream({ path: '/dev/null' }); -child.level(Logger.DEBUG); -child.level('debug'); -child.levels(0, Logger.ERROR); -child.levels(0, 'error'); -child.levels('stream1', Logger.FATAL); -child.levels('stream1', 'fatal'); +const levels: number[] = log.levels(); +level = log.levels(0); +log.levels('foo'); -let buffer = new Buffer(0); -let error = new Error(''); -let object = { +log.levels(0, Logger.INFO); +log.levels(0, 'info'); +log.levels('foo', Logger.WARN); + +const buffer = new Buffer(0); +const error = new Error(''); +const object = { test: 123 }; @@ -116,7 +112,7 @@ log.fatal(error); log.fatal(object); log.fatal('Hello, %s', 'world!'); -let recursive: any = { +const recursive: any = { hello: 'world', whats: {} }; @@ -130,6 +126,20 @@ class MyLogger extends Logger { } } +let child = log.child({ widget_type: 'wuzzle' }); +child.reopenFileStreams(); +log.addStream({ path: '/dev/null' }); +child.level(Logger.DEBUG); +child.level('debug'); +child.levels(0, Logger.ERROR); +child.levels(0, 'error'); +child.levels('foo', Logger.FATAL); +child.levels('foo', 'fatal'); + +ringBuffer.end(); +ringBuffer.destroy(); +ringBuffer.destroySoon(); + const logLevelString: Logger.LogLevelString = 'warn'; const nameLevel: number = Logger.levelFromName[logLevelString]; const nameLevel2: number = Logger.levelFromName['warn']; diff --git a/types/bunyan/index.d.ts b/types/bunyan/index.d.ts index a59790ebc9..055c64deb8 100644 --- a/types/bunyan/index.d.ts +++ b/types/bunyan/index.d.ts @@ -233,6 +233,7 @@ declare namespace Logger { closeOnExit?: boolean; period?: string; count?: number; + name?: string; } interface LoggerOptions { diff --git a/types/bytebuffer/index.d.ts b/types/bytebuffer/index.d.ts index 1cf7142592..8456f28182 100644 --- a/types/bytebuffer/index.d.ts +++ b/types/bytebuffer/index.d.ts @@ -1,8 +1,8 @@ // Type definitions for bytebuffer.js 5.0.0 // Project: https://github.com/dcodeIO/bytebuffer.js -// Definitions by: Denis Cappellin +// Definitions by: Denis Cappellin // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// Definitions by: SINTEF-9012 +// Definitions by: SINTEF-9012 import Long = require("long"); diff --git a/types/c3/c3-tests.ts b/types/c3/c3-tests.ts index 029946c710..509678636b 100644 --- a/types/c3/c3-tests.ts +++ b/types/c3/c3-tests.ts @@ -3,7 +3,7 @@ ////////////////// function chart_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, bindto: "#myContainer", size: { @@ -30,19 +30,19 @@ function chart_examples() { onresized: () => { /* code*/ } }); - let chart2 = c3.generate({ + const chart2 = c3.generate({ bindto: document.getElementById("myContainer"), data: {} }); - let chart3 = c3.generate({ + const chart3 = c3.generate({ bindto: d3.select("#myContainer"), data: {} }); } function data_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: { url: "/data/c3_test.csv", json: [ @@ -126,7 +126,7 @@ function data_examples() { } }); - let chart2 = c3.generate({ + const chart2 = c3.generate({ data: { labels: { format: (v, id, i, j) => { /* code */ } }, hide: ["data1"] @@ -135,7 +135,7 @@ function data_examples() { } function axis_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, axis: { rotated: true, @@ -207,7 +207,7 @@ function axis_examples() { } }); - let chart2 = c3.generate({ + const chart2 = c3.generate({ data: {}, axis: { x: { @@ -241,7 +241,7 @@ function axis_examples() { } function grid_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, grid: { x: { @@ -265,7 +265,7 @@ function grid_examples() { } function region_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, regions: [ { axis: "x", start: 1, end: 4, class: "region-1-4" }, @@ -274,7 +274,7 @@ function region_examples() { } function legend_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, legend: { show: true, @@ -294,7 +294,7 @@ function legend_examples() { } }); - let chart2 = c3.generate({ + const chart2 = c3.generate({ data: {}, legend: { hide: "data1", @@ -307,7 +307,7 @@ function legend_examples() { } }); - let chart3 = c3.generate({ + const chart3 = c3.generate({ data: {}, legend: { hide: ["data1", "data2"] @@ -316,7 +316,7 @@ function legend_examples() { } function subchart_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, subchart: { show: true, @@ -329,7 +329,7 @@ function subchart_examples() { } function zoom_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, zoom: { enabled: false, @@ -343,7 +343,7 @@ function zoom_examples() { } function point_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, point: { show: false, @@ -362,7 +362,7 @@ function point_examples() { } function line_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, line: { connectNull: true, @@ -374,7 +374,7 @@ function line_examples() { } function area_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, area: { zerobased: false @@ -383,7 +383,7 @@ function area_examples() { } function bar_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, bar: { width: 10, @@ -391,7 +391,7 @@ function bar_examples() { } }); - let chart2 = c3.generate({ + const chart2 = c3.generate({ data: {}, bar: { width: { @@ -403,7 +403,7 @@ function bar_examples() { } function pie_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, pie: { label: { @@ -419,7 +419,7 @@ function pie_examples() { } function donut_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, donut: { label: { @@ -437,7 +437,7 @@ function donut_examples() { } function gauge_examples() { - let chart = c3.generate({ + const chart = c3.generate({ data: {}, gauge: { label: { @@ -460,7 +460,7 @@ function gauge_examples() { ///////////////// function simple_multiple() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -481,7 +481,7 @@ function simple_multiple() { } function timeseries() { - let chart = c3.generate({ + const chart = c3.generate({ data: { x: "x", xFormat: "%Y%m%d", // 'xFormat' can be used as custom format of 'x' @@ -503,7 +503,7 @@ function timeseries() { } function chart_spline() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -515,7 +515,7 @@ function chart_spline() { } function simple_xy() { - let chart = c3.generate({ + const chart = c3.generate({ data: { x: "x", columns: [ @@ -528,7 +528,7 @@ function simple_xy() { } function simple_xy_multiple() { - let chart = c3.generate({ + const chart = c3.generate({ data: { xs: { data1: "x1", @@ -545,7 +545,7 @@ function simple_xy_multiple() { } function simple_regions() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -560,7 +560,7 @@ function simple_regions() { } function chart_step() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 300, 350, 300, 0, 0, 100], @@ -575,7 +575,7 @@ function chart_step() { } function area_chart() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 300, 350, 300, 0, 0, 0], @@ -590,7 +590,7 @@ function area_chart() { } function chart_area_stacked() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 300, 350, 300, 0, 0, 120], @@ -607,7 +607,7 @@ function chart_area_stacked() { } function chart_bar() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -627,7 +627,7 @@ function chart_bar() { } function chart_bar_stacked() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", -30, 200, 200, 400, -150, 250], @@ -648,7 +648,7 @@ function chart_bar_stacked() { } function chart_scatter() { - let chart = c3.generate({ + const chart = c3.generate({ data: { xs: { setosa: "setosa_x", @@ -682,7 +682,7 @@ function chart_scatter() { } function chart_pie() { - let chart = c3.generate({ + const chart = c3.generate({ data: { // iris data from R columns: [ @@ -698,7 +698,7 @@ function chart_pie() { } function chart_donut() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30], @@ -716,7 +716,7 @@ function chart_donut() { } function gauge_chart() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data", 91.4] @@ -753,7 +753,7 @@ function gauge_chart() { } function chart_combination() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 20, 50, 40, 60, 50], @@ -781,7 +781,7 @@ function chart_combination() { //////////////////// function categorized() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250, 50, 100, 250] @@ -797,7 +797,7 @@ function categorized() { } function axes_rotated() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -814,7 +814,7 @@ function axes_rotated() { } function axes_y2() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -834,7 +834,7 @@ function axes_y2() { } function axes_x_tick_format() { - let chart = c3.generate({ + const chart = c3.generate({ data: { x: "x", columns: [ @@ -855,7 +855,7 @@ function axes_x_tick_format() { } function axes_x_tick_count() { - let chart = c3.generate({ + const chart = c3.generate({ data: { x: "x", columns: [ @@ -876,7 +876,7 @@ function axes_x_tick_count() { } function axes_x_tick_values() { - let chart = c3.generate({ + const chart = c3.generate({ data: { x: "x", columns: [ @@ -897,7 +897,7 @@ function axes_x_tick_values() { } function axes_x_tick_culling() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample", 30, 200, 100, 400, 150, 250, 30, 200, 100, 400, 150, 250, 30, 200, 100, 400, 150, 250, 200, 100, 400, 150, 250] @@ -919,7 +919,7 @@ function axes_x_tick_culling() { } function axes_x_tick_fit() { - let chart = c3.generate({ + const chart = c3.generate({ data: { x: "x", columns: [ @@ -940,7 +940,7 @@ function axes_x_tick_fit() { } function axes_x_localtime() { - let chart = c3.generate({ + const chart = c3.generate({ data: { x: "x", xFormat: "%Y", @@ -966,7 +966,7 @@ function axes_x_localtime() { } function axes_x_tick_rotate() { - let chart = c3.generate({ + const chart = c3.generate({ data: { x: "x", columns: [ @@ -990,7 +990,7 @@ function axes_x_tick_rotate() { } function axes_y_tick_format() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample", 30, 200, 100, 400, 150, 2500] @@ -1008,7 +1008,7 @@ function axes_y_tick_format() { } function axes_y_padding() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -1032,7 +1032,7 @@ function axes_y_padding() { } function axes_y_range() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample", 30, 200, 100, 400, 150, 250] @@ -1050,7 +1050,7 @@ function axes_y_range() { } function axes_label() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample", 30, 200, 100, 400, 150, 250], @@ -1076,7 +1076,7 @@ function axes_label() { } function axes_label_position() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample1", 30, 200, 100, 400, 150, 250], @@ -1134,7 +1134,7 @@ function axes_label_position() { /////////////////// function data_columned() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 20, 50, 40, 60, 50], @@ -1146,7 +1146,7 @@ function data_columned() { } function data_rowed() { - let chart = c3.generate({ + const chart = c3.generate({ data: { rows: [ ["data1", "data2", "data3"], @@ -1210,7 +1210,7 @@ function data_json() { } function data_url() { - let chart = c3.generate({ + const chart = c3.generate({ data: { url: "/data/c3_test.csv" } @@ -1227,7 +1227,7 @@ function data_url() { } function data_stringx() { - let chart = c3.generate({ + const chart = c3.generate({ data: { x: "x", columns: [ @@ -1294,7 +1294,7 @@ function data_stringx() { } function data_load() { - let chart = c3.generate({ + const chart = c3.generate({ data: { url: "/data/c3_test.csv", type: "line" @@ -1397,7 +1397,7 @@ function data_load() { } function data_name() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -1412,7 +1412,7 @@ function data_name() { } function data_color() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 20, 50, 40, 60, 50], @@ -1434,7 +1434,7 @@ function data_color() { } function data_order() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 130, 200, 320, 400, 530, 750], @@ -1478,7 +1478,7 @@ function data_order() { } function data_label() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, -200, -100, 400, 150, 250], @@ -1500,7 +1500,7 @@ function data_label() { } function data_label_format() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, -200, -100, 400, 150, 250], @@ -1532,7 +1532,7 @@ function data_label_format() { /////////////////// function options_gridline() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample", 30, 200, 100, 400, 150, 250, 120, 200] @@ -1550,7 +1550,7 @@ function options_gridline() { } function grid_x_lines() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample", 30, 200, 100, 400, 150, 250] @@ -1569,7 +1569,7 @@ function grid_x_lines() { } function grid_y_lines() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample", 30, 200, 100, 400, 150, 250], @@ -1601,7 +1601,7 @@ function grid_y_lines() { /////////////////// function region() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250, 400], @@ -1631,7 +1631,7 @@ function region() { } function region_timeseries() { - let chart = c3.generate({ + const chart = c3.generate({ data: { x: "date", columns: [ @@ -1657,7 +1657,7 @@ function region_timeseries() { ///////////////////// function options_subchart() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample", 30, 200, 100, 400, 150, 250] @@ -1670,7 +1670,7 @@ function options_subchart() { } function interaction_zoom() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample", 30, 200, 100, 400, 150, 250, 150, 200, 170, 240, 350, 150, 100, 400, 150, 250, 150, 200, 170, 240, 100, 150, 250, 150, 200, 170, 240, 30, 200, 100, 400, 150, 250, 150, @@ -1688,7 +1688,7 @@ function interaction_zoom() { ///////////////////// function options_legend() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample", 30, 200, 100, 400, 150, 250] @@ -1701,7 +1701,7 @@ function options_legend() { } function legend_position() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -1737,7 +1737,7 @@ function legend_position() { } function legend_custom() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 100], @@ -1781,7 +1781,7 @@ function legend_custom() { ///////////////////// function tooltip_show() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -1795,7 +1795,7 @@ function tooltip_show() { } function tooltip_grouped() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -1810,7 +1810,7 @@ function tooltip_grouped() { } function tooltip_format() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30000, 20000, 10000, 40000, 15000, 250000], @@ -1837,7 +1837,7 @@ function tooltip_format() { format: { title: (d: any) => "Data " + d, value: (value: any, ratio: any, id: any) => { - let format = id === "data1" ? d3.format(",") : d3.format("$"); + const format = id === "data1" ? d3.format(",") : d3.format("$"); return format(value); } // value: d3.format(",") // apply this format to both y and y2 @@ -1851,7 +1851,7 @@ function tooltip_format() { //////////////////////// function options_size() { - let chart = c3.generate({ + const chart = c3.generate({ size: { height: 240, width: 480 @@ -1865,7 +1865,7 @@ function options_size() { } function options_padding() { - let chart = c3.generate({ + const chart = c3.generate({ padding: { top: 40, right: 100, @@ -1881,7 +1881,7 @@ function options_padding() { } function options_color() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -1900,7 +1900,7 @@ function options_color() { } function transition_duration() { - let chart = c3.generate({ + const chart = c3.generate({ data: { url: "/data/c3_test.csv" }, @@ -1953,7 +1953,7 @@ function transition_duration() { ///////////////////////////// function point_show() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -1971,7 +1971,7 @@ function point_show() { //////////////////////////// function pie_label_format() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30], @@ -1994,7 +1994,7 @@ function pie_label_format() { ///////////////////// function api_flow() { - let chart = c3.generate({ + const chart = c3.generate({ data: { x: "x", columns: [ @@ -2064,7 +2064,7 @@ function api_flow() { } function api_data_name() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -2087,7 +2087,7 @@ function api_data_name() { } function api_data_color() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 20, 50, 40, 60, 50], @@ -2122,7 +2122,7 @@ function api_data_color() { } function api_axis_label() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -2154,7 +2154,7 @@ function api_axis_label() { } function api_axis_range() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -2210,7 +2210,7 @@ function api_axis_range() { } function api_resize() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -2233,7 +2233,7 @@ function api_resize() { } function api_grid_x() { - let chart = c3.generate({ + const chart = c3.generate({ bindto: "#chart", data: { columns: [ @@ -2276,7 +2276,7 @@ function api_grid_x() { ///////////////////// function transform_line() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -2304,7 +2304,7 @@ function transform_line() { } function transform_spline() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -2332,7 +2332,7 @@ function transform_spline() { } function transform_bar() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -2360,7 +2360,7 @@ function transform_bar() { } function transform_area() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -2388,7 +2388,7 @@ function transform_area() { } function transform_areaspline() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -2416,7 +2416,7 @@ function transform_areaspline() { } function transform_scatter() { - let chart = c3.generate({ + const chart = c3.generate({ data: { xs: { setosa: "setosa_x", @@ -2462,7 +2462,7 @@ function transform_scatter() { } function transform_pie() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -2485,7 +2485,7 @@ function transform_pie() { } function transform_donut() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 30, 200, 100, 400, 150, 250], @@ -2516,7 +2516,7 @@ function transform_donut() { ///////////////////// function style_region() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["sample", 30, 200, 100, 400, 150, 250] @@ -2530,7 +2530,7 @@ function style_region() { } function style_grid() { - let chart = c3.generate({ + const chart = c3.generate({ data: { columns: [ ["data1", 100, 200, 1000, 900, 500] diff --git a/types/cassandra-driver/index.d.ts b/types/cassandra-driver/index.d.ts index 1f7f2fe33d..bf9e73feb6 100644 --- a/types/cassandra-driver/index.d.ts +++ b/types/cassandra-driver/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for nodejs-driver v0.8.2 // Project: https://github.com/datastax/nodejs-driver -// Definitions by: Marc Fisher +// Definitions by: Marc Fisher // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// diff --git a/types/catbox/index.d.ts b/types/catbox/index.d.ts index e34059d618..7bc691abdc 100644 --- a/types/catbox/index.d.ts +++ b/types/catbox/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for catbox 7.1 // Project: https://github.com/hapijs/catbox -// Definitions by: Jason Swearingen , AJP +// Definitions by: Jason Swearingen , AJP // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 diff --git a/types/chai-arrays/chai-arrays-tests.ts b/types/chai-arrays/chai-arrays-tests.ts index 7fabaacbca..f8a42fb6a7 100644 --- a/types/chai-arrays/chai-arrays-tests.ts +++ b/types/chai-arrays/chai-arrays-tests.ts @@ -8,7 +8,7 @@ chai.use(ChaiArrays); chai.should(); const arr: any[] = [1, 2, 3]; -const str: string = 'abcdef'; +const str = 'abcdef'; const otherArr: number[] = [1, 2, 3]; const anotherArr: number[] = [2, 4]; diff --git a/types/chai-http/chai-http-tests.ts b/types/chai-http/chai-http-tests.ts index c9c80c31ed..7c1c7a6b42 100644 --- a/types/chai-http/chai-http-tests.ts +++ b/types/chai-http/chai-http-tests.ts @@ -13,7 +13,7 @@ if (!global.Promise) { chai.request.addPromises(when.promise); } -let app: http.Server; +declare const app: http.Server; chai.request(app).get('/'); chai.request('http://localhost:8080').get('/'); @@ -55,7 +55,7 @@ chai.request(app) .then((res: ChaiHttp.Response) => chai.expect(res).to.have.status(200)) .catch((err: any) => { throw err; }); -let agent = chai.request.agent(app); +const agent = chai.request.agent(app); agent .post('/session') @@ -69,7 +69,7 @@ agent }); function test1() { - let req = chai.request(app).get('/'); + const req = chai.request(app).get('/'); req.then((res: ChaiHttp.Response) => { chai.expect(res).to.have.status(200); chai.expect(res).to.have.header('content-type', 'text/plain'); diff --git a/types/chart.js/chart.js-tests.ts b/types/chart.js/chart.js-tests.ts index 5c2dab60f9..4ba3c4fc4c 100644 --- a/types/chart.js/chart.js-tests.ts +++ b/types/chart.js/chart.js-tests.ts @@ -4,7 +4,7 @@ import { Chart, ChartData } from 'chart.js'; // import chartjs = require('chart.js'); // => chartjs.Chart -let chart: Chart = new Chart(new CanvasRenderingContext2D(), { +const chart: Chart = new Chart(new CanvasRenderingContext2D(), { type: 'bar', data: { labels: ['group 1'], diff --git a/types/chayns/chayns-tests.ts b/types/chayns/chayns-tests.ts new file mode 100644 index 0000000000..8e8912430a --- /dev/null +++ b/types/chayns/chayns-tests.ts @@ -0,0 +1,14 @@ +// Test file for chayns typings + +chayns.register({ + strictMode: false, + appName: 'chayns-typings-test' +}); + +chayns.ready.then(data => { + return data; +}).catch(err => { + return err; +}); + +chayns.dialog.alert('chayns-typings', 'Test chayns-typings!'); diff --git a/types/chayns/index.d.ts b/types/chayns/index.d.ts new file mode 100644 index 0000000000..a1989a1c51 --- /dev/null +++ b/types/chayns/index.d.ts @@ -0,0 +1,938 @@ +// Type definitions for chayns 3.1 +// Project: https://github.com/TobitSoftware/chayns-js +// Definitions by: Henning Kuehl +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.4 + +/** + * Definition file for chayns v3.1 + */ +declare namespace chayns { + /** + * Getting Started + * chayns + * + */ + let ready: Promise; + + function register(config: RegisterConfig): void; + + /** + * Basic Functions + * chayns + */ + function login(parameters?: string[]): Promise; + + function getUser(config: GetUserConfig): Promise; + + function getUacGroups(siteId: number, updateCache?: boolean): Promise; + + function startInteractionIdentification(config: InteractionIdentificationConfig): Promise; + + function stopInteractionIdentification(): Promise; + + function allowRefreshScroll(): Promise; + + function disallowRefreshScroll(): Promise; + + function showTitleImage(): Promise; + + function hideTitleImage(): Promise; + + function setOnActivateCallback(callback: (tappEvent: number) => any): Promise; + + function setNetworkChangeCallback(callback: (result: NetworkChangeResult) => any, ongoing: boolean): Promise; + + function setNfcCallback(callback: (rfid: string) => any): Promise; + + function removeNfcCallback(): Promise; + + function startNfcDetection(callback: (result: NfcDetectionResult) => any, interval: number, vibrate: boolean): Promise; + + function stopNfcDetection(): Promise; + + function scanQRCode(cameryType?: number, timeout?: number): Promise; // TODO interface for promise result + + function createQRCode(text: string): Promise; + + function showFinetradingQRCode(): Promise; + + function selectTapp(tapp: SelectTappConfig, parameter?: string[]): Promise; + + function openUrl(config: OpenUrlConfig): void; + + function closeUrl(): void; + + function openUrlInBrowser(url: string): void; + + function getGeoLocation(): Promise; + + function getLocationBeacons(forceReload: boolean): Promise; + + function getBeaconHistory(subNumber?: number): Promise; + + function getBaseColor(color?: string, colorMode?: number): string; + + function share(config: ShareConfig): Promise; // TODO interface for promise result + + function getAvailableSharingServices(): Promise; + + function navigateBack(): Promise; + + function updateNavigation(tappId?: number, config?: UpdateNavigationConfig): Promise; + + function enableDisplayTimeout(): Promise; + + function disableDisplayTimeout(): Promise; + + function setSpeechToText(callback: (result: SpeechToTextResult) => any, title?: string): Promise; + + function createTappShortcut(name: string, imageUrl: string): Promise; + + function setSubTapp(config: SubTappConfig): void; + + function removeSubTapp(config: RemoveSubTappConfig): void; + + function vibrate(ms: number[]): Promise; + + function setHeight(config: SetHeightConfig): Promise; + + function scrollToY(position: number): Promise; + + function addToWallet(passbook: string): Promise; // TODO check passbock parameter + + function addScrollListener(callback: (data: any) => any, throttle?: number): Promise; // TODO interface for callback data + + function setScreenOrientation(orientation: number): Promise; + + function findSite(name: string, skip?: number, take?: number): Promise; + + /** + * UI Functions + * Waitcursor + * chayns + */ + function showWaitCursor(text?: string, timeout?: number): Promise; + + function hideWaitCursor(): Promise; + + /** + * UI Functions + * Floating Button + * chayns + */ + function showFloatingButton(config: FloatingConfig, callback: () => any): void; + + function hideFloatingButton(): void; + + /** + * Media Functions + * Image + * chayns + */ + function openImage(urls: string[], start?: number): Promise; + + function uploadImage(): Promise; + + /** + * Media Functions + * Miscellaneous + * chayns + */ + function openVideo(url: string): Promise; + + function saveAppointment(config: SaveAppointmentConfig): Promise; + + function playSound(url: string, playOnMute?: boolean): Promise; + + function addErrorListener(logFn: (error: any) => Promise<{}>, appName: string): void; + + function getGlobalData(): GlobalData; + + /** + * chayns.smartShop + */ + let smartShop: any; + + /** + * Basic Functions + * chayns.intercom + */ + namespace intercom { + function sendMessageToUser(userId: number, config: IntercomConfig): Promise; // TODO set interface for promise result + + function sendMessageToGroup(groupId: number, config: IntercomConfig): Promise; // TODO set interface for promise result + + function sendMessageToPage(config: IntercomConfig): Promise; // TODO set interface for promise result + } + + /** + * Basic Functions + * chayns.passKit + */ + namespace passKit { + function getInstalled(): Promise; // TODO interface for promise result + + function isInstalled(identifier: string): Promise; // TODO interface for promise result + } + + /** + * Environmental Variables + * chayns.env + */ + namespace env { + let _parameters: any; + + let parameters: any; + + let isBrowser: boolean; + + let isChaynsWeb: boolean; + + let isChaynsWebDesktop: boolean; + + let isChaynsWebMobile: boolean; + + let isDesktop: boolean; + + let isMobile: boolean; + + let isApp: boolean; + + let isIOS: boolean; + + let isAndroid: boolean; + + let isTablet: boolean; + + let isWP: boolean; + + let appVersion: number; + + let os: string; + + let apiVersion: number; + + let debugMode: boolean; + + let isChaynsParent: boolean; + + let isChaynsWebLight: boolean; + + let isInFacebookFrame: boolean; + + let isInFrame: boolean; + + let isWidget: boolean; + + let language: string; + + /** + * Environmental Variables + * chayns.env.user + */ + namespace user { + let tobitAccessToken: string; + + let facebookAccessToken: string; + + let facebookId: string; + + let id: number; + + let name: string; + + let personId: string; + + let isAuthenticated: boolean; + + let language: string; + + let groups: UserGroup[]; + } + + /** + * Environmental Variables + * chayns.env.site + */ + namespace site { + let color: string; + + let colorMode: number; + + let colorScheme: number; + + let domain: string; + + let facebookAppId: string; + + let facebookPageId: string; + + let id: string; + + let isAdEnabled: boolean; + + let isArEnabled: boolean; + + let language: string; + + let locationId: number; + + let locationPersonId: string; + + let tapps: SiteTapp[]; + + let title: string; + + let url: string; + + let version: string; + + /** + * Environmental Variables + * chayns.env.site.tapp + */ + namespace tapp { + let customUrl: string; + + let id: number; + + let internalName: string; + + let isExclusiveView: boolean; + + let isKioskMode: boolean; + + let isSubTapp: boolean; + + let showName: string; + + let sortId: number; + + let userGroupIds: number[]; + } + } + + /** + * Environmental Variables + * chayns.env.app + */ + namespace app { + let flavor: string; + + let languageId: string; + + let model: string; + + let name: string; + + let uid: string; + + let version: string; + } + + /** + * Environmental Variables + * chayns.env.device + */ + namespace device { + let fontScale: any; + + let imei: string; + + let languageId: string; + + let model: string; + + let systemName: string; + + let systemVersion: number; + + let uid: string; + } + + /** + * Environmental Variables + * chayns.env.browser + */ + namespace browser { + let name: string; + + let version: string; + } + } + + /** + * UI Functions + * chayns.dialog + */ + namespace dialog { + enum buttonType { + CANCEL = -1, + NEGATIVE = 0, + POSITIVE = 1 + } + + enum buttonText { + CANCEL = 'Abbrechen', + NO = 'Nein', + OK = 'OK', + YES = 'Ja' + } + + enum dateType { + DATE, + TIME, + DATE_TIME + } + + enum inputType { + DEFAULT = 0, + PASSWORD = 1 + } + + function alert(title: string, message?: string): Promise; + + function confirm(title: string, message?: string, buttons?: DialogButton[]): Promise; + + function date(config: DialogDateConfig): Promise; + + function select(config: DialogSelectConfig): Promise; + + function input(config: DialogInputConfig): Promise; + + function facebook(options: DialogFacebookOptions): Promise; + } + + /** + * chayns.ui + */ + namespace ui { + /** + * UI Functions + * chayns.ui.modeSwitch + */ + namespace modeSwitch { + function init(config: ModeSwitchConfig): void; + + function addItem(item: ModeSwitchItem, index?: number): void; + + function changeMode(item: number | ModeSwitchItem): void; + + function remove(): void; + + function add(): void; + } + + /** + * Media Functions + * chayns.ui.gallery + */ + namespace gallery { + function create(id: string, urls: string[]): void; + + function setUrls(id: string, urls: string[]): void; + + function getUrls(id: string): string[]; + + function addUrl(id: string, url: string): void; + + function removeUrl(id: string, url: string): void; + } + + /** + * chayns.ui.tooltip + */ + namespace tooltip { + function init(config: UiTooltipInitConfig, rootElement: any): Promise; + } + + /** + * chayns.ui.slider + */ + namespace slider { + function refreshTrack(): void; + } + } + + /** + * Utility Functions + * chayns.utils + */ + namespace utils { + /** + * Utility Functions + * Check Types + * chayns.utils + */ + function isHex(parameter: any, shorthand: boolean): boolean; + + function isArray(parameter: any): boolean; + + function isBLEAdress(parameter: any): boolean; + + function isBlank(parameter: any): boolean; + + function isDate(parameter: any): boolean; + + function isDefined(parameter: any): boolean; + + function isFormData(parameter: any): boolean; + + function isFunction(parameter: any): boolean; + + function isGUID(parameter: any): boolean; + + function isMacAdress(parameter: any): boolean; + + function isNumber(parameter: any): boolean; + + function isObject(parameter: any): boolean; + + function isPromise(parameter: any): boolean; + + function isString(parameter: any): boolean; + + function isUUID(parameter: any): boolean; + + function isUndefined(parameter: any): boolean; + + function isDeferred(parameter: any): boolean; + + function isJwt(parameter: any): boolean; + + function isUrl(parameter: any): boolean; + + /** + * Utility Functions + * Miscellaneous + * chayns.utils + */ + function getJwtPayload(token: string): JwtPaylod; + + function mod(number: number, modulo: number): number; + + function trim(test: string): string; + + function replacePlaceholder(text: string, parameters: any[]): string; // TODO set interface for parameters + + function mixColor(color1: string, color2: string, saturation: number): string; + + function isPresent(parameter: any): boolean; + + function setLevel(level: number): void; + + /** + * Utility Functions + * Local Storage + * chayns.utils.ls + */ + namespace ls { + function set(key: string, value: string): void; + + function get(key: string): string; + + function remove(key: string): void; + + function removeAll(): void; + } + + namespace lang { + function init(config: any): void; + + function renderTextStrings(): void; + + function get(textString: string): string; + + function translateDomStrings(): void; + } + } + + /** + * chayns.storage + */ + namespace storage { + enum accessMode { + PUBLIC, + PROTECTED, + PRIVATE + } + + function set(key: string, value: any, accessMode?: accessMode, tappIds?: number[]): Promise; + + function get(key: string, accessMode?: accessMode): any; + + function remove(key: string, accessMode?: accessMode): Promise; + } +} + +/** + * Getting Started + * chayns + * interfaces + */ +// chayns.register() +interface RegisterConfig { + strictMode?: boolean; + appName?: string; + cssPrefix?: string; + callbackPrefix?: string; + initialHeight?: number; + autoResize?: boolean; +} + +/** + * Basic Functions + * chayns + * interfaces + */ +// chayns.getUser() +interface GetUserConfig { + accessToken?: string; + userId?: number; + fbId?: string; + personId?: string; +} + +interface User { + FacebookID: string; + FirstName: string; + LastName: string; + PersonID: string; + UserFullName: string; + UserID: number; +} + +// chayns.getUacGroups() +interface UacGroup { + id: number; + name: string; + showName: string; +} + +// chayns.startInteractionIdentification() +interface InteractionIdentificationConfig { + duration: number; + delay?: number; + callback: any; + resetOnInteraction?: boolean; + foregroundColor: string; + backgroundColor?: string; +} + +// chayns.setNetworkChangeCallback() +interface NetworkChangeResult { + isConnected: boolean; + type: number; +} + +// chayns.startNfcDetection() +interface NfcDetectionResult { + connected: boolean; + rfid: string; +} + +// chayns.selectTapp() +interface SelectTappConfig { + id?: number; + internalName?: string; + showName?: string; + position?: number; +} + +// chayns.openUrl() +interface OpenUrlConfig { + url: string; + title?: string; + exclusiveView?: boolean; + darkenBackground?: boolean; + fullSize?: boolean; + width?: number; +} + +// chayns.getGeoLocation() +interface GeoLocationResult { + longitude: number; + latitude: number; +} + +// chayns.getLocationBeacons() +interface LocationBeacon { + id: number; + pushMessage: string; + latitude: number; + longitude: number; +} + +// chayns.getBeaconHistory() +interface BeaconHistory { + id: number; + timestamp: number; +} + +// chayns.share() +interface ShareConfig { + title?: string; + text: string; + imageUrl?: string; + sharingApp: number; + sharingAndroidApp?: string; +} + +// chayns.updateNavigation() +interface UpdateNavigationConfig { + stateOnly?: boolean; + updateTapp?: boolean; +} + +// chayns.setSpeecToText() +interface SpeechToTextResult { + languageCode: string; + text: string[]; +} + +// chayns.setSubTapp() +interface SubTappConfig { + tappID: number; + name: string; + color: string; + colorText?: string; + sortID: number; + icon: string; + callbackURL?(result: any): any; + url: string; + buttonName: string; + isExclusiveView?: boolean; + replaceParent?: boolean; + boldText?: boolean; +} + +// chayns.removeSubTapp() +interface RemoveSubTappConfig { + tappID: number; + close: boolean; + remove: boolean; +} + +// chayns.setHeight() +interface SetHeightConfig { + height: number; + growOnly?: boolean; + full?: boolean; + fullViewport?: boolean; +} + +// chayns.findSite() +interface Site { + appstoreName: string; + facebookId: string; + siteId: string; + locationId: number; +} + +/** + * Basic Functions + * chayns.intercom + * interfaces + */ +interface IntercomConfig { + text: string; +} + +/** + * UI Functions + * chayns.dialog + * interfaces + */ +// chayns.dialog.confirm() +interface DialogButton { + text: string; + buttonType: chayns.dialog.buttonType; +} + +// chayns.dialog.date() +interface DialogDateConfig { + dateType: chayns.dialog.dateType; + preSelect?: Date; + minDate?: Date; + maxDate?: Date; +} + +interface DialogDateResult { + timestamp: number; + buttonType: chayns.dialog.buttonType; +} + +// chayns.dialog.select() +interface DialogSelectConfig { + title: string; + message?: string; + quickfind?: boolean; + multiselect?: boolean; + buttons?: any[]; // TODO interface for buttons + list: DialogSelectConfigItem[]; +} + +interface DialogSelectConfigItem { + name: string; + value?: string; + image?: string; + isSelected?: boolean; +} + +interface DialogSelectResult { + buttonType: chayns.dialog.buttonType; + selection: DialogSelectResultItem[]; +} + +interface DialogSelectResultItem { + name: string; + value?: string; +} + +// chayns.dialog.input() +interface DialogInputConfig { + title: string; + message?: string; + placeholderText?: string; + text?: string; + buttons?: DialogButton[]; +} + +interface DialogInputResult { + buttonType: chayns.dialog.buttonType; + text: string; +} + +/** + * UI Functions + * chayns.ui.modeswitch + * interfaces + */ +// chayns.ui.modeswitch.init() +interface ModeSwitchConfig { + items: ModeSwitchItem[]; + callback(result: ModeSwitchItem): void; + headline?: string; + preventclose?: boolean; +} + +interface ModeSwitchItem { + name: string; + value: number; + default?: boolean; +} + +/** + * UI Functions + * Floating Button + * chayns + * interfaces + */ +// chayns.showFloatingButton() +interface FloatingConfig { + text?: string; + color?: string; + colorText?: string; + icon?: string; +} + +/** + * Media Functions + * Miscellaneous + * chayns + * interfaces + */ +// chayns.saveAppointment() +interface SaveAppointmentConfig { + name: string; + location: string; + description: string; + start: Date; + end: Date; +} + +/** + * Utility Functions + * Miscellaneous + * chayns.utils + * interfaces + */ +// chayns.utils.getJwtPayload() +interface JwtPaylod { + FacebookUserID: string; + FirstName: string; + LastName: string; + PersonID: string; + LocationID: number; + TobitUserID: number; + LoginType: number; + isAdmin: boolean; +} + +/** + * Enviroment Variables + * User + * interfaces + */ +// chayns.env.user.groups +interface UserGroup { + id: number; + isActive?: boolean; + isSystemGroup?: boolean; + name: string; + showName?: string; +} + +/** + * Enviroment Variables + * Site + * interfaces + */ +interface SiteTapp { + customUrl: string; + id: number; + internalName: string; + isExclusiveView: boolean; + isKioskMode: boolean; + isSubTapp: boolean; + showName: string; + sortId: number; + userGroupIds: number[]; +} + +interface GlobalData { + _result: any; +} + +interface DialogFacebookOptions { + title: string; + message?: string; + quickfind?: number; + multiselect?: number; + button?: DialogFacebookButton[]; + preSelected: number[]; // TODO: Verify type +} + +interface DialogFacebookButton { + text: string; + value: number; // TODO: Verify type +} + +interface DialogFacebookResult { + buttonType: number; + selection: DialogFacebookResultSelection[]; +} + +interface DialogFacebookResultSelection { + first_name: string; + last_name: string; + id: string; + gender: string; + name: string; +} + +interface UiTooltipInitConfig { + tooltipClass: string; + preventAnimation: boolean; +} diff --git a/types/chayns/tsconfig.json b/types/chayns/tsconfig.json new file mode 100644 index 0000000000..99d0599998 --- /dev/null +++ b/types/chayns/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "chayns-tests.ts" + ] +} diff --git a/types/chayns/tslint.json b/types/chayns/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/chayns/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/classnames/bind.d.ts b/types/classnames/bind.d.ts new file mode 100644 index 0000000000..4af94d1835 --- /dev/null +++ b/types/classnames/bind.d.ts @@ -0,0 +1,3 @@ +import * as cn from "./index"; + +export function bind(styles: Record): typeof cn; diff --git a/types/classnames/classnames-tests.ts b/types/classnames/classnames-tests.ts index 1938acb4f9..b2b8c9eba4 100644 --- a/types/classnames/classnames-tests.ts +++ b/types/classnames/classnames-tests.ts @@ -1,5 +1,6 @@ import classNames = require('classnames'); import * as classNames2 from 'classnames'; +import * as cn from 'classnames/bind'; classNames2('foo', 'bar'); // => 'foo bar' @@ -23,3 +24,17 @@ classNames(null, 'bar', undefined, 0, 1, { baz: null }, ''); // => 'bar 1' // Supporting booleans is tricky since we should only support passing in false, which is ignored // classNames(false, 'bar', 0, 1, { baz: null }, ''); // => 'bar 1' + +// Support for CSS-Modules. Example from README: +// https://github.com/JedWatson/classnames/blob/master/README.md#alternate-bind-version-for-css-modules +const styles = { + foo: 'abc', + bar: 'def', + baz: 'xyz' +}; + +const cx = cn.bind(styles); +const className = cx('foo', ['bar'], { baz: true }); // => "abc def xyz" + +// falsey values are just ignored +cx(null, 'bar', undefined, 0, 1, { baz: null }, ''); // => 'bar 1' diff --git a/types/classnames/index.d.ts b/types/classnames/index.d.ts index 42352fc9b8..9ea79d3b97 100644 --- a/types/classnames/index.d.ts +++ b/types/classnames/index.d.ts @@ -5,7 +5,9 @@ // Jason Killian // Sean Kelley // Michal Adamczyk +// Marvin Hagemeister // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 type ClassValue = string | number | ClassDictionary | ClassArray | undefined | null | false; diff --git a/types/classnames/tsconfig.json b/types/classnames/tsconfig.json index 8eeaf9b1ca..bb39a9d874 100644 --- a/types/classnames/tsconfig.json +++ b/types/classnames/tsconfig.json @@ -17,6 +17,7 @@ }, "files": [ "index.d.ts", + "bind.d.ts", "classnames-tests.ts" ] -} \ No newline at end of file +} diff --git a/types/client-sessions/client-sessions-tests.ts b/types/client-sessions/client-sessions-tests.ts new file mode 100644 index 0000000000..7498aac12d --- /dev/null +++ b/types/client-sessions/client-sessions-tests.ts @@ -0,0 +1,25 @@ +import express = require("express"); +import session = require("client-sessions"); + +const secret = "yolo"; +const app = express(); +const options = { secret }; + +let middleware = session(options); +middleware = session({ secret, cookieName: "_s" }); +middleware = session({ secret, duration: 600000 }); +middleware = session({ secret, activeDuration: 42 }); +middleware = session({ + secret, + cookie: { + httpOnly: false, + } +}); + +app.use(middleware); +app.use((req: any, res: any) => { + req.session = { test: true }; +}); + +const encoded = session.util.encode(options, { test: true }); +session.util.decode(options, encoded); diff --git a/types/client-sessions/index.d.ts b/types/client-sessions/index.d.ts new file mode 100644 index 0000000000..6a4b3b2b2f --- /dev/null +++ b/types/client-sessions/index.d.ts @@ -0,0 +1,74 @@ +// Type definitions for client-sessions 0.8 +// Project: https://github.com/mozilla/node-client-sessions +// Definitions by: Aditya +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 + +/// + +import * as cookies from "cookies"; + +declare namespace client_sessions { + type NextFunction = (err?: Error) => void; + type RequestHandler = (req: any, res: any, next: NextFunction) => any; + + interface SessionOptions { + /** + * encryption secret for the session. + * required + */ + secret: string; + + /** + * session cookie name. + * Default: 'session_state' + */ + cookieName?: string; + + /** + * how long the session will stay valid in ms. + * Default: 24 hours + */ + duration?: number; + + /** + * if expiresIn < activeDuration, the session will be extended by activeDuration milliseconds. + * Default: 5 minutes + */ + activeDuration?: number; + + /** + * session accessor on the request object. + * Default: 'session' + */ + requestKey?: string; + + cookie?: cookies.IOptions; + } + + interface DecodeResult { + content: any; + createdAt: number; + duration: number; + } + + interface ComputeHmacOptions { + signatureAlgorithm: string; + signatureKey: Buffer; + } + + interface Util { + computeHmac(options: any, iv: string, ciphertext: string, duration: number, createdAt: number): Buffer; + encode(options: SessionOptions, content: any, duration?: number, createdAt?: number): string; + decode(options: SessionOptions, encoded: string): DecodeResult; + } + + interface Sessions { + (options: SessionOptions): RequestHandler; + util: Util; + } +} + +declare var client_sessions: client_sessions.Sessions; +export = client_sessions; +export as namespace client_sessions; diff --git a/types/client-sessions/tsconfig.json b/types/client-sessions/tsconfig.json new file mode 100644 index 0000000000..151ca87623 --- /dev/null +++ b/types/client-sessions/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "client-sessions-tests.ts" + ] +} diff --git a/types/client-sessions/tslint.json b/types/client-sessions/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/client-sessions/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/codemirror/index.d.ts b/types/codemirror/index.d.ts index 960f293656..f6c40a99c2 100644 --- a/types/codemirror/index.d.ts +++ b/types/codemirror/index.d.ts @@ -1,6 +1,7 @@ // Type definitions for CodeMirror // Project: https://github.com/marijnh/CodeMirror // Definitions by: mihailik +// nrbernard // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped export = CodeMirror; @@ -104,6 +105,19 @@ declare namespace CodeMirror { type DOMEvent = 'mousedown' | 'dblclick' | 'touchstart' | 'contextmenu' | 'keydown' | 'keypress' | 'keyup' | 'cut' | 'copy' | 'paste' | 'dragstart' | 'dragenter' | 'dragover' | 'dragleave' | 'drop'; + interface Token { + /** The character(on the given line) at which the token starts. */ + start: number; + /** The character at which the token ends. */ + end: number; + /** The token's string. */ + string: string; + /** The token type the mode assigned to the token, such as "keyword" or "comment" (may also be null). */ + type: string | null; + /** The mode's state at the end of this token. */ + state: any; + } + interface Editor { /** Tells you whether the editor currently has focus. */ @@ -289,20 +303,11 @@ declare namespace CodeMirror { you should probably follow up by calling this method to ensure CodeMirror is still looking as intended. */ refresh(): void; - /** Retrieves information about the token the current mode found before the given position (a {line, ch} object). */ - getTokenAt(pos: CodeMirror.Position): { - /** The character(on the given line) at which the token starts. */ - start: number; - /** The character at which the token ends. */ - end: number; - /** The token's string. */ - string: string; - /** The token type the mode assigned to the token, such as "keyword" or "comment" (may also be null). */ - type: string | null; - /** The mode's state at the end of this token. */ - state: any; - }; + getTokenAt(pos: CodeMirror.Position): Token; + + /** This is similar to getTokenAt, but collects all tokens for a given line into an array. */ + getLineTokens(line: number, precise?: boolean): Token[]; /** Returns the mode's parser state, if any, at the end of the given line number. If no line number is given, the state at the end of the document is returned. @@ -410,7 +415,7 @@ declare namespace CodeMirror { /** Fires when one of the DOM events fires. */ on(eventName: DOMEvent, handler: (instance: CodeMirror.Editor, event: Event) => void ): void; off(eventName: DOMEvent, handler: (instance: CodeMirror.Editor, event: Event) => void ): void; - + /** Expose the state object, so that the Editor.state.completionActive property is reachable*/ state: any; } diff --git a/types/color-convert/color-convert-tests.ts b/types/color-convert/color-convert-tests.ts index 735c169a2f..fe45e209f3 100644 --- a/types/color-convert/color-convert-tests.ts +++ b/types/color-convert/color-convert-tests.ts @@ -1,6 +1,6 @@ import * as color from 'color-convert'; import * as conv from 'color-convert/conversions'; -let hsv: [number, number, number] = color.rgb.hsv([1, 2, 3]); -let hsv_raw: [number, number, number] = color.rgb.hsv.raw([1, 2, 3]); -let aaa: [number, number, number] = color.rgb.hsv([1, 2, 3]); +const hsv: [number, number, number] = color.rgb.hsv([1, 2, 3]); +const hsv_raw: [number, number, number] = color.rgb.hsv.raw([1, 2, 3]); +const aaa: [number, number, number] = color.rgb.hsv([1, 2, 3]); diff --git a/types/commander/index.d.ts b/types/commander/index.d.ts index 017495784a..9e5feded68 100644 --- a/types/commander/index.d.ts +++ b/types/commander/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for commander 2.9 // Project: https://github.com/visionmedia/commander.js -// Definitions by: Alan Agius , Marcelo Dezem , vvakame +// Definitions by: Alan Agius , Marcelo Dezem , vvakame // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// diff --git a/types/commonmark/commonmark-tests.ts b/types/commonmark/commonmark-tests.ts index 8d3a3a5447..b85eb16ace 100644 --- a/types/commonmark/commonmark-tests.ts +++ b/types/commonmark/commonmark-tests.ts @@ -26,18 +26,18 @@ function logNode(node: commonmark.Node) { const parser = new commonmark.Parser({ smart: true, time: true }); const node = parser.parse('# a piece of _markdown_'); -let w = node.walker(); -let step = w.next(); +const w = node.walker(); +const step = w.next(); if (step.entering) { logNode(step.node); } -let xmlRenderer = new commonmark.XmlRenderer({ sourcepos: true, time: true }); -let xml = xmlRenderer.render(node); +const xmlRenderer = new commonmark.XmlRenderer({ sourcepos: true, time: true }); +const xml = xmlRenderer.render(node); console.log(xml); -let htmlRenderer = new commonmark.HtmlRenderer({ safe: true, smart: true, sourcepos: true, time: true }); -let html = htmlRenderer.render(node); +const htmlRenderer = new commonmark.HtmlRenderer({ safe: true, smart: true, sourcepos: true, time: true }); +const html = htmlRenderer.render(node); console.log(html); function basic_usage() { diff --git a/types/compressible/compressible-tests.ts b/types/compressible/compressible-tests.ts new file mode 100644 index 0000000000..d793f8d877 --- /dev/null +++ b/types/compressible/compressible-tests.ts @@ -0,0 +1,5 @@ +import compressible = require('compressible'); + +// $ExpectType boolean | undefined +compressible('text/html'); +compressible('image/png'); diff --git a/types/compressible/index.d.ts b/types/compressible/index.d.ts new file mode 100644 index 0000000000..fe0d27ae23 --- /dev/null +++ b/types/compressible/index.d.ts @@ -0,0 +1,8 @@ +// Type definitions for compressible 2.0 +// Project: https://github.com/jshttp/compressible#readme +// Definitions by: BendingBender +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export = compressible; + +declare function compressible(type: string): boolean | undefined; diff --git a/types/compressible/tsconfig.json b/types/compressible/tsconfig.json new file mode 100644 index 0000000000..fb011bf968 --- /dev/null +++ b/types/compressible/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "compressible-tests.ts" + ] +} diff --git a/types/compressible/tslint.json b/types/compressible/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/compressible/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/concat-stream/concat-stream-tests.ts b/types/concat-stream/concat-stream-tests.ts index 4f3bf839e0..b89cde817b 100644 --- a/types/concat-stream/concat-stream-tests.ts +++ b/types/concat-stream/concat-stream-tests.ts @@ -3,7 +3,7 @@ import concat = require("concat-stream"); import { Readable } from "stream"; class MyReadable extends Readable { - i: number = 1; + i = 1; _read() { if (this.i <= 100) { this.push(this.i.toString()); diff --git a/types/content-type/content-type-tests.ts b/types/content-type/content-type-tests.ts index 0705d440c1..4be9519a94 100644 --- a/types/content-type/content-type-tests.ts +++ b/types/content-type/content-type-tests.ts @@ -1,18 +1,19 @@ -import contentType = require('content-type'); -import express = require('express'); +/// -let obj = contentType.parse('image/svg+xml; charset=utf-8'); +import * as contentType from 'content-type'; +import * as http from 'http'; -console.log(obj.type); // => 'image/svg+xml' -console.log(obj.parameters.charset); // => 'utf-8' +const mediaType = contentType.parse('image/svg+xml; charset=utf-8'); +mediaType; // $ExpectType ParsedMediaType +mediaType.type; // $ExpectType string +mediaType.parameters; // $ExpectType { [key: string]: string; } -let req: express.Request; -obj = contentType.parse(req); +http.createServer((req, res) => { + contentType.parse(req); + contentType.parse(res); +}); -let res: express.Response; -obj = contentType.parse(res); - -let str: string = contentType.format({type: 'image/svg+xml'}); - -let media: contentType.MediaType; -contentType.format(media); +// $ExpectType string +contentType.format({type: 'image/svg+xml'}); +contentType.format({type: 'image/svg+xml', parameters: {charset: 'utf-8'}}); +contentType.format(mediaType); diff --git a/types/content-type/index.d.ts b/types/content-type/index.d.ts index ec60de446f..5ff4ae7ff1 100644 --- a/types/content-type/index.d.ts +++ b/types/content-type/index.d.ts @@ -1,21 +1,26 @@ // Type definitions for content-type 1.1 // Project: https://www.npmjs.com/package/content-type // Definitions by: Hiroki Horiuchi +// BendingBender // Definitions: https://github.com/borisyankov/DefinitelyTyped -import * as express from 'express'; +export function parse(input: RequestLike | ResponseLike | string): ParsedMediaType; +export function format(obj: MediaType): string; -declare var ct: ct.StaticFunctions; -export = ct; +export interface ParsedMediaType { + type: string; + parameters: {[key: string]: string}; +} -declare namespace ct { - interface StaticFunctions { - parse(input: express.Request | express.Response | string): MediaType; - format(obj: MediaType): string; - } +export interface MediaType { + type: string; + parameters?: {[key: string]: string}; +} - interface MediaType { - type: string; - parameters?: any; - } +export interface RequestLike { + headers: {[header: string]: string | string[]}; +} + +export interface ResponseLike { + getHeader(name: string): number | string | string[] | undefined; } diff --git a/types/content-type/tsconfig.json b/types/content-type/tsconfig.json index 4eaa2f42f4..3361989225 100644 --- a/types/content-type/tsconfig.json +++ b/types/content-type/tsconfig.json @@ -6,7 +6,7 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "baseUrl": "../", "typeRoots": [ "../" @@ -19,4 +19,4 @@ "index.d.ts", "content-type-tests.ts" ] -} \ No newline at end of file +} diff --git a/types/continuation-local-storage/continuation-local-storage-tests.ts b/types/continuation-local-storage/continuation-local-storage-tests.ts index 3d85886d73..aee44866af 100644 --- a/types/continuation-local-storage/continuation-local-storage-tests.ts +++ b/types/continuation-local-storage/continuation-local-storage-tests.ts @@ -21,7 +21,7 @@ function test(topic: string, callback: (t: Test) => any) { test("asynchronously propagating state with local-context-domains", function (t) { t.plan(2); - var namespace = cls.createNamespace('namespace'); + const namespace = cls.createNamespace('namespace'); // t.ok(process.namespaces.namespace, "namespace has been created"); namespace.run(function () { @@ -39,7 +39,7 @@ test("minimized test case that caused #6011 patch to fail", function (t) { // when the flaw was in the patch, commenting out this line would fix things: process.nextTick(function () { console.log('!'); }); - var n = cls.createNamespace("test"); + const n = cls.createNamespace("test"); t.ok(!n.get('state'), "state should not yet be visible"); n.run(function () { @@ -59,7 +59,7 @@ test("event emitters bound to CLS context", function (t) { t.test("handler registered in context, emit out of context", function (t) { t.plan(1); - var n = cls.createNamespace('in') + const n = cls.createNamespace('in') , ee = new EventEmitter() ; @@ -78,7 +78,7 @@ test("event emitters bound to CLS context", function (t) { t.test("once handler registered in context", function (t) { t.plan(1); - var n = cls.createNamespace('inOnce') + const n = cls.createNamespace('inOnce') , ee = new EventEmitter() ; @@ -97,7 +97,7 @@ test("event emitters bound to CLS context", function (t) { t.test("handler registered out of context, emit in context", function (t) { t.plan(1); - var n = cls.createNamespace('out') + const n = cls.createNamespace('out') , ee = new EventEmitter() ; @@ -117,7 +117,7 @@ test("event emitters bound to CLS context", function (t) { t.test("once handler registered out of context", function (t) { t.plan(1); - var n = cls.createNamespace('outOnce') + const n = cls.createNamespace('outOnce') , ee = new EventEmitter() ; @@ -137,7 +137,7 @@ test("event emitters bound to CLS context", function (t) { t.test("handler registered out of context, emit out of context", function (t) { t.plan(1); - var n = cls.createNamespace('out') + const n = cls.createNamespace('out') , ee = new EventEmitter() ; @@ -155,12 +155,12 @@ test("event emitters bound to CLS context", function (t) { }); t.test("once handler registered out of context on Readable", function (t) { - var Readable = require('stream').Readable; + const Readable = require('stream').Readable; if (Readable) { t.plan(12); - var n = cls.createNamespace('outOnceReadable') + const n = cls.createNamespace('outOnceReadable') , re = new Readable() ; @@ -203,7 +203,7 @@ test("event emitters bound to CLS context", function (t) { t.test("emitter with newListener that removes handler", function (t) { t.plan(3); - var n = cls.createNamespace('newListener') + const n = cls.createNamespace('newListener') , ee = new EventEmitter() ; @@ -239,12 +239,12 @@ test("event emitters bound to CLS context", function (t) { }); t.test("handler registered in context on Readable", function (t) { - var Readable = require('stream').Readable; + const Readable = require('stream').Readable; if (Readable) { t.plan(12); - var n = cls.createNamespace('outOnReadable') + const n = cls.createNamespace('outOnReadable') , re = new Readable() ; @@ -288,7 +288,7 @@ test("event emitters bound to CLS context", function (t) { t.test("handler added but used entirely out of context", function (t) { t.plan(2); - var n = cls.createNamespace('none') + const n = cls.createNamespace('none') , ee = new EventEmitter() ; @@ -309,12 +309,12 @@ test("event emitters bound to CLS context", function (t) { t.test("handler added but no listeners registered", function (t) { t.plan(3); - var http = require('http') + const http = require('http') , n = cls.createNamespace('no_listener') ; // only fails on Node < 0.10 - var server = http.createServer(function (req: any, res: any) { + const server = http.createServer(function (req: any, res: any) { n.bindEmitter(req); t.doesNotThrow(function () { @@ -342,7 +342,7 @@ test("event emitters bound to CLS context", function (t) { t.test("listener with parameters added but not bound to context", function (t) { t.plan(2); - var ee = new EventEmitter() + const ee = new EventEmitter() , n = cls.createNamespace('param_list') ; @@ -361,7 +361,7 @@ test("event emitters bound to CLS context", function (t) { t.test("listener that throws doesn't leave removeListener wrapped", function (t) { t.plan(4); - var ee = new EventEmitter() + const ee = new EventEmitter() , n = cls.createNamespace('kaboom') ; @@ -385,7 +385,7 @@ test("event emitters bound to CLS context", function (t) { t.test("emitter bound to multiple namespaces handles them correctly", function (t) { t.plan(8); - var ee = new EventEmitter() + const ee = new EventEmitter() , ns1 = cls.createNamespace('1') , ns2 = cls.createNamespace('2') ; @@ -430,7 +430,7 @@ test("event emitters bound to CLS context", function (t) { // multiple contexts in use test("simple tracer built on contexts", function (t) { - var tracer = cls.createNamespace('tracer'); + const tracer = cls.createNamespace('tracer'); class Trace { harvester: any; @@ -438,7 +438,7 @@ test("simple tracer built on contexts", function (t) { this.harvester = harvester; } runHandler(callback: any) { - var wrapped = tracer.bind(function () { + const wrapped = tracer.bind(function () { callback(); this.harvester.emit('finished', tracer.get('transaction')); }.bind(this)); @@ -448,8 +448,8 @@ test("simple tracer built on contexts", function (t) { t.plan(6); - var harvester = new EventEmitter(); - var trace = new Trace(harvester); + const harvester = new EventEmitter(); + const trace = new Trace(harvester); harvester.on('finished', function (transaction: any) { t.ok(transaction, "transaction should have been passed in"); diff --git a/types/convict/convict-tests.ts b/types/convict/convict-tests.ts index daa07c6875..08bac59825 100644 --- a/types/convict/convict-tests.ts +++ b/types/convict/convict-tests.ts @@ -35,7 +35,7 @@ convict.addFormats({ } }); -let conf = convict({ +const conf = convict({ env: { doc: 'The applicaton environment.', format: ['production', 'development', 'test'], @@ -98,8 +98,8 @@ let conf = convict({ // load environment dependent configuration -let env = conf.get('env'); -let dbip = conf.get('db.ip'); +const env = conf.get('env'); +const dbip = conf.get('db.ip'); conf.loadFile('./config/' + env + '.json'); conf.loadFile(['./configs/always.json', './configs/sometimes.json']); @@ -119,7 +119,7 @@ conf .validate({ allowed: 'warn' }) .toString(); -let port: number = conf.default('port'); +const port: number = conf.default('port'); if (conf.has('key')) { conf.set('the.awesome', true); diff --git a/types/copy-webpack-plugin/index.d.ts b/types/copy-webpack-plugin/index.d.ts index 11a3a30dd9..8bfae1e0ed 100644 --- a/types/copy-webpack-plugin/index.d.ts +++ b/types/copy-webpack-plugin/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for copy-webpack-plugin v4.0.0 // Project: https://github.com/kevlened/copy-webpack-plugin -// Definitions by: flying-sheep +// Definitions by: flying-sheep // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped import { Plugin } from 'webpack' diff --git a/types/cordova-plugin-inappbrowser/cordova-plugin-inappbrowser-tests.ts b/types/cordova-plugin-inappbrowser/cordova-plugin-inappbrowser-tests.ts index 1497eec386..2506df887d 100644 --- a/types/cordova-plugin-inappbrowser/cordova-plugin-inappbrowser-tests.ts +++ b/types/cordova-plugin-inappbrowser/cordova-plugin-inappbrowser-tests.ts @@ -4,7 +4,7 @@ // signature of window.open() added by InAppBrowser plugin // is similar to native window.open signature, so the compiler can's // select proper overload, but we cast result to InAppBrowser manually. -const iab = window.open('google.com', '_self'); +const iab = window.open('google.com', '_self'); iab.addEventListener('loadstart', (ev: InAppBrowserEvent) => { console.log('Start opening ' + ev.url); }); iab.addEventListener('loadstart', (ev) => { console.log('loadstart' + ev.url); }); diff --git a/types/core-decorators/core-decorators-tests.ts b/types/core-decorators/core-decorators-tests.ts index ef4659e56b..c617de5fcc 100644 --- a/types/core-decorators/core-decorators-tests.ts +++ b/types/core-decorators/core-decorators-tests.ts @@ -31,7 +31,7 @@ import { readonly } from 'core-decorators'; class Meal { @readonly - entree: string = 'steak'; + entree = 'steak'; } const dinner = new Meal(); @@ -155,7 +155,7 @@ class Meal2 { entree = 'steak'; @nonenumerable - cost: number = 4.44; + cost = 4.44; } const dinner2 = new Meal2(); @@ -175,7 +175,7 @@ import { nonconfigurable } from 'core-decorators'; class Meal3 { @nonconfigurable - entree: string = 'steak'; + entree = 'steak'; } const dinner3 = new Meal3(); diff --git a/types/core-js/index.d.ts b/types/core-js/index.d.ts index 0a8f506df4..5fb9400d75 100644 --- a/types/core-js/index.d.ts +++ b/types/core-js/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for core-js 0.9 // Project: https://github.com/zloirock/core-js/ -// Definitions by: Ron Buckton , Michel Felipe +// Definitions by: Ron Buckton , Michel Felipe // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.1 diff --git a/types/csvtojson/csvtojson-tests.ts b/types/csvtojson/csvtojson-tests.ts index 5b58451fac..2d6e36c84f 100644 --- a/types/csvtojson/csvtojson-tests.ts +++ b/types/csvtojson/csvtojson-tests.ts @@ -5,7 +5,7 @@ import fs = require('fs'); ///////////////////////////// // From CSV String -const csvStr: string = `1,2,3 +const csvStr = `1,2,3 4,5,6 7,8,9`; diff --git a/types/d3-array/d3-array-tests.ts b/types/d3-array/d3-array-tests.ts index 287f1d1a5e..7ce3d6354d 100644 --- a/types/d3-array/d3-array-tests.ts +++ b/types/d3-array/d3-array-tests.ts @@ -43,9 +43,9 @@ let num: number; let date: Date; let numOrUndefined: number | undefined; -let strOrUndefined: string |  undefined; -let numericOrUndefined: NumCoercible |  undefined; -let dateOrUndefined: Date |  undefined; +let strOrUndefined: string | undefined; +let numericOrUndefined: NumCoercible | undefined; +let dateOrUndefined: Date | undefined; let numOrUndefinedExtent: [number, number] | [undefined, undefined]; let strOrUndefinedExtent: [string, string] | [undefined, undefined]; let numericOrUndefinedExtent: [NumCoercible, NumCoercible] | [undefined, undefined]; diff --git a/types/d3-brush/d3-brush-tests.ts b/types/d3-brush/d3-brush-tests.ts index 2d9ee319aa..bce080f424 100644 --- a/types/d3-brush/d3-brush-tests.ts +++ b/types/d3-brush/d3-brush-tests.ts @@ -85,7 +85,6 @@ brush = brush.on('end', null); // re-apply brush.on('end', function(d, i, g) { - const that: SVGGElement = this; const datum: BrushDatum = d; const index: number = i; const group: SVGGElement[] | ArrayLike = g; diff --git a/types/d3-collection/d3-collection-tests.ts b/types/d3-collection/d3-collection-tests.ts index af9bf8d075..91a72479db 100644 --- a/types/d3-collection/d3-collection-tests.ts +++ b/types/d3-collection/d3-collection-tests.ts @@ -11,13 +11,13 @@ import { ascending } from 'd3-array'; // Preparatory steps -------------------------------------------------------------- -let keyValueObj = { +const keyValueObj = { a: 'test', b: 123, c: [true, true, false] }; -let keyValueObj2 = { +const keyValueObj2 = { a: 'test', b: 'same', c: 'type' @@ -29,7 +29,6 @@ let stringKVArray: Array<{ key: string, value: string }>; let anyKVArray: Array<{ key: string, value: any }>; let num: number; -let str: string; let booleanFlag: boolean; // --------------------------------------------------------------------- @@ -137,9 +136,9 @@ testObjKVArray = testObjMap.entries(); // each() -------------------------------------------------------------- testObjMap.each((value, key, map) => { - let v: TestObject = value; - let k: string = key; - let m: d3Collection.Map = map; + const v: TestObject = value; + const k: string = key; + const m: d3Collection.Map = map; console.log(v.val); }); @@ -169,9 +168,9 @@ basicSet = d3Collection.set(['foo', 'bar', 42]); // last element is coerced // from array without accessor basicSet = d3Collection.set(testObjArray, (value, index, array) => { - let v: TestObject = value; - let i: number = index; - let a: TestObject[] = array; + const v: TestObject = value; + const i: number = index; + const a: TestObject[] = array; return v.name; }); @@ -208,9 +207,9 @@ stringArray = basicSet.values(); // each() -------------------------------------------------------------- basicSet.each((value, valueRepeat, set) => { - let v: string = value; - let vr: string = valueRepeat; - let s: d3Collection.Set = set; + const v: string = value; + const vr: string = valueRepeat; + const s: d3Collection.Set = set; console.log(v); }); @@ -233,7 +232,7 @@ interface Yield { site: string; } -let raw: Yield[] = [ +const raw: Yield[] = [ { yield: 27.00, variety: 'Manchuria', year: 1931, site: 'University Farm' }, { yield: 48.87, variety: 'Manchuria', year: 1931, site: 'Waseca' }, { yield: 27.43, variety: 'Manchuria', year: 1931, site: 'Morris' }, @@ -279,8 +278,8 @@ nestL1Rollup = nestL1Rollup nestL2 = nestL2 .sortValues((a, b) => { - let val1: Yield = a; // data type Yield - let val2: Yield = b; // data type Yield + const val1: Yield = a; // data type Yield + const val2: Yield = b; // data type Yield return a.yield - b.yield; }); @@ -288,7 +287,7 @@ nestL2 = nestL2 nestL1Rollup = nestL1Rollup .rollup(values => { - let vs: Yield[] = values; // correct data array type + const vs: Yield[] = values; // correct data array type return vs.length; }); diff --git a/types/d3-contour/d3-contour-tests.ts b/types/d3-contour/d3-contour-tests.ts index 751dfe99c9..588750bf29 100644 --- a/types/d3-contour/d3-contour-tests.ts +++ b/types/d3-contour/d3-contour-tests.ts @@ -110,7 +110,7 @@ interface CustomDatum { // Get contour generator ------------------------------------------------------- -let contDensDefault: d3Contour.ContourDensity<[number, number]> = d3Contour.contourDensity(); +const contDensDefault: d3Contour.ContourDensity<[number, number]> = d3Contour.contourDensity(); let contDensCustom: d3Contour.ContourDensity = d3Contour.contourDensity(); // Configure contour generator ================================================= diff --git a/types/d3-dispatch/d3-dispatch-tests.ts b/types/d3-dispatch/d3-dispatch-tests.ts index 436bc3d6d4..a9f29ef75d 100644 --- a/types/d3-dispatch/d3-dispatch-tests.ts +++ b/types/d3-dispatch/d3-dispatch-tests.ts @@ -16,8 +16,6 @@ interface Datum { } let dispatch: d3Dispatch.Dispatch; -let copy: d3Dispatch.Dispatch; -let copy2: d3Dispatch.Dispatch; // Signature Tests ---------------------------------------- @@ -50,5 +48,5 @@ dispatch.apply('bar', document.body, [{ a: 3, b: 'test' }, 1]); dispatch.on('bar', null); // Copy dispatch ----------------------------------------------- -copy = dispatch.copy(); -// copy2 = dispatch.copy(); // test fails type mismatch of underlying event target +const copy: d3Dispatch.Dispatch = dispatch.copy(); +// const copy2: d3Dispatch.Dispatch = dispatch.copy(); // test fails type mismatch of underlying event target diff --git a/types/d3-dsv/d3-dsv-tests.ts b/types/d3-dsv/d3-dsv-tests.ts index 421add6e65..51127b7266 100644 --- a/types/d3-dsv/d3-dsv-tests.ts +++ b/types/d3-dsv/d3-dsv-tests.ts @@ -12,13 +12,13 @@ import * as d3Dsv from 'd3-dsv'; // Preperatory Steps // ------------------------------------------------------------------------------------------ -const csvTestString: string = '1997,Ford,E350,2.34\n2000,Mercury,Cougar,2.38'; -const tsvTestString: string = '1997\tFord\tE350\t2.34\n2000\tMercury\tCougar\t2.38'; -const pipedTestString: string = '1997|Ford|E350|2.34\n2000|Mercury|Cougar|2.38'; +const csvTestString = '1997,Ford,E350,2.34\n2000,Mercury,Cougar,2.38'; +const tsvTestString = '1997\tFord\tE350\t2.34\n2000\tMercury\tCougar\t2.38'; +const pipedTestString = '1997|Ford|E350|2.34\n2000|Mercury|Cougar|2.38'; -const csvTestStringWithHeader: string = 'Year,Make,Model,Length\n1997,Ford,E350,2.34\n2000,Mercury,Cougar,2.38'; -const tsvTestStringWithHeader: string = 'Year\tMake\tModel\tLength\n1997\tFord\tE350\t2.34\n2000\tMercury\tCougar\t2.38'; -const pipedTestStringWithHeader: string = 'Year|Make|Model|Length\n1997|Ford|E350|2.34\n2000|Mercury|Cougar|2.38'; +const csvTestStringWithHeader = 'Year,Make,Model,Length\n1997,Ford,E350,2.34\n2000,Mercury,Cougar,2.38'; +const tsvTestStringWithHeader = 'Year\tMake\tModel\tLength\n1997\tFord\tE350\t2.34\n2000\tMercury\tCougar\t2.38'; +const pipedTestStringWithHeader = 'Year|Make|Model|Length\n1997|Ford|E350|2.34\n2000|Mercury|Cougar|2.38'; interface ParsedTestObject { year: Date; diff --git a/types/d3-ease/d3-ease-tests.ts b/types/d3-ease/d3-ease-tests.ts index 67a0f32b1b..543f2fd375 100644 --- a/types/d3-ease/d3-ease-tests.ts +++ b/types/d3-ease/d3-ease-tests.ts @@ -8,7 +8,7 @@ import * as d3Ease from 'd3-ease'; -const t_in: number = 0.5; +const t_in = 0.5; let t_out: number; t_out = d3Ease.easeLinear(t_in); diff --git a/types/d3-format/d3-format-tests.ts b/types/d3-format/d3-format-tests.ts index 9c11d07c70..def8994b70 100644 --- a/types/d3-format/d3-format-tests.ts +++ b/types/d3-format/d3-format-tests.ts @@ -36,17 +36,17 @@ formatFn = d3Format.formatPrefix(',.0', 1e-6); specifier = d3Format.formatSpecifier('.0%'); -let fill: string = specifier.fill; -let align: '>' | '<' | '^' | '=' = specifier.align; -let sign: '-' | '+' | '(' | ' ' = specifier.sign; -let symbol: '$' | '#' | '' = specifier.symbol; -let zero: boolean = specifier.zero; -let width: number | undefined = specifier.width; -let comma: boolean = specifier.comma; -let precision: number = specifier.precision; -let type: 'e' | 'f' | 'g' | 'r' | 's' | '%' | 'p' | 'b' | 'o' | 'd' | 'x' | 'X' | 'c' | '' | 'n' = specifier.type; +const fill: string = specifier.fill; +const align: '>' | '<' | '^' | '=' = specifier.align; +const sign: '-' | '+' | '(' | ' ' = specifier.sign; +const symbol: '$' | '#' | '' = specifier.symbol; +const zero: boolean = specifier.zero; +const width: number | undefined = specifier.width; +const comma: boolean = specifier.comma; +const precision: number = specifier.precision; +const type: 'e' | 'f' | 'g' | 'r' | 's' | '%' | 'p' | 'b' | 'o' | 'd' | 'x' | 'X' | 'c' | '' | 'n' = specifier.type; -let formatString: string = specifier.toString(); +const formatString: string = specifier.toString(); // ---------------------------------------------------------------------- // Test Precision Suggestors @@ -85,16 +85,16 @@ localeDef = { percent : "\u202f%" }; -let decimal: string = localeDef.decimal; -let thousands: string = localeDef.thousands; -let grouping: number[] = localeDef.grouping; -let currency: [string, string] = localeDef.currency; -let numerals: string[] | undefined = localeDef.numerals; -let percent: string | undefined = localeDef.percent; +const decimal: string = localeDef.decimal; +const thousands: string = localeDef.thousands; +const grouping: number[] = localeDef.grouping; +const currency: [string, string] = localeDef.currency; +const numerals: string[] | undefined = localeDef.numerals; +const percent: string | undefined = localeDef.percent; localeObj = d3Format.formatLocale(localeDef); localeObj = d3Format.formatDefaultLocale(localeDef); -let formatFactory: (specifier: string) => ((n: number) => string) = localeObj.format; -let formatPrefixFactory: (specifier: string, value: number) => ((n: number) => string) = localeObj.formatPrefix; +const formatFactory: (specifier: string) => ((n: number) => string) = localeObj.format; +const formatPrefixFactory: (specifier: string, value: number) => ((n: number) => string) = localeObj.formatPrefix; diff --git a/types/d3-format/index.d.ts b/types/d3-format/index.d.ts index 34cf80c047..6592756ef1 100644 --- a/types/d3-format/index.d.ts +++ b/types/d3-format/index.d.ts @@ -112,8 +112,8 @@ export interface FormatSpecifier { comma: boolean; /** * Depending on the type, the precision either indicates the number of digits that follow the decimal point (types 'f' and '%'), - * or the number of significant digits (types ''​ (none), 'e', 'g', 'r', 's' and 'p'). If the precision is not specified, - * it defaults to 6 for all types except ''​ (none), which defaults to 12. + * or the number of significant digits (types '' (none), 'e', 'g', 'r', 's' and 'p'). If the precision is not specified, + * it defaults to 6 for all types except '' (none), which defaults to 12. * Precision is ignored for integer formats (types 'b', 'o', 'd', 'x', 'X' and 'c'). * * See precisionFixed and precisionRound for help picking an appropriate precision @@ -137,7 +137,7 @@ export interface FormatSpecifier { * 'c' - converts the integer to the corresponding unicode character before printing. * '' (none) - like g, but trim insignificant trailing zeros. * - * The type 'n' is also supported as shorthand for ',g'. For the 'g', 'n' and ​''(none) types, + * The type 'n' is also supported as shorthand for ',g'. For the 'g', 'n' and ''(none) types, * decimal notation is used if the resulting string would have precision or fewer digits; otherwise, exponent notation is used. */ type: 'e' | 'f' | 'g' | 'r' | 's' | '%' | 'p' | 'b' | 'o' | 'd' | 'x' | 'X' | 'c' | '' | 'n'; @@ -170,7 +170,7 @@ export function formatDefaultLocale(defaultLocale: FormatLocaleDefinition): Form * * Uses the current default locale. * - * The general form of a specifier is [​[fill]align][sign][symbol][0][width][,][.precision][type]. + * The general form of a specifier is [[fill]align][sign][symbol][0][width][,][.precision][type]. * For reference, an explanation of the segments of the specifier string, refer to the FormatSpecifier interface properties. * * @param specifier A Specifier string @@ -185,7 +185,7 @@ export function format(specifier: string): (n: number) => string; * * Uses the current default locale. * - * The general form of a specifier is [​[fill]align][sign][symbol][0][width][,][.precision][type]. + * The general form of a specifier is [[fill]align][sign][symbol][0][width][,][.precision][type]. * For reference, an explanation of the segments of the specifier string, refer to the FormatSpecifier interface properties. * * @param specifier A Specifier string @@ -197,7 +197,7 @@ export function formatPrefix(specifier: string, value: number): (n: number) => s * Parses the specified specifier, returning an object with exposed fields that correspond to the * format specification mini-language and a toString method that reconstructs the specifier. * - * The general form of a specifier is [​[fill]align][sign][symbol][0][width][,][.precision][type]. + * The general form of a specifier is [[fill]align][sign][symbol][0][width][,][.precision][type]. * For reference, an explanation of the segments of the specifier string, refer to the FormatSpecifier interface properties. * * @param specifier A specifier string. diff --git a/types/d3-interpolate/d3-interpolate-tests.ts b/types/d3-interpolate/d3-interpolate-tests.ts index 5cbb6fe3a0..6baaf06092 100644 --- a/types/d3-interpolate/d3-interpolate-tests.ts +++ b/types/d3-interpolate/d3-interpolate-tests.ts @@ -44,7 +44,6 @@ let iString: Interpolator; let iDate: Interpolator; let iArrayNum: Interpolator; let iArrayStr: Interpolator; -let iArrayDate: Interpolator; let iArrayMixed: Interpolator<[Date, string]>; let iKeyVal: Interpolator<{ [key: string]: any }>; let iRGBColorObj: Interpolator; @@ -56,7 +55,6 @@ let arrNum: number[]; let arrStr: string[]; let objKeyVal: { [key: string]: any }; let objRGBColor: d3Color.RGBColor; -let objHSVColor: d3Hsv.HSVColor; let zoom: [number, number, number]; // test interpolate(a, b) signature ---------------------------------------------------- diff --git a/types/d3-path/d3-path-tests.ts b/types/d3-path/d3-path-tests.ts index b11a3405e3..6a7b6a3fa0 100644 --- a/types/d3-path/d3-path-tests.ts +++ b/types/d3-path/d3-path-tests.ts @@ -12,7 +12,7 @@ import * as d3Path from 'd3-path'; // Test create new path serializer // ----------------------------------------------------------------------------------------- -let context: d3Path.Path = d3Path.path(); +const context: d3Path.Path = d3Path.path(); // ----------------------------------------------------------------------------------------- // Test path serializer methods @@ -35,4 +35,4 @@ context.rect(60, 60, 100, 200); context.closePath(); -let pathString: string = context.toString(); +const pathString: string = context.toString(); diff --git a/types/d3-polygon/d3-polygon-tests.ts b/types/d3-polygon/d3-polygon-tests.ts index 748054b727..28e1e464e1 100644 --- a/types/d3-polygon/d3-polygon-tests.ts +++ b/types/d3-polygon/d3-polygon-tests.ts @@ -15,8 +15,8 @@ import * as d3Polygon from 'd3-polygon'; let num: number; let containsFlag: boolean; let point: [number, number] = [15, 15]; -let polygon: Array<[number, number]> = [[10, 10], [20, 20], [10, 30]]; -let pointArray: Array<[number, number]> = [[10, 10], [20, 20], [10, 30], [15, 15]]; +const polygon: Array<[number, number]> = [[10, 10], [20, 20], [10, 30]]; +const pointArray: Array<[number, number]> = [[10, 10], [20, 20], [10, 30], [15, 15]]; let hull: Array<[number, number]>; // ----------------------------------------------------------------------------- diff --git a/types/d3-quadtree/d3-quadtree-tests.ts b/types/d3-quadtree/d3-quadtree-tests.ts index 5fabc66961..eda00fe130 100644 --- a/types/d3-quadtree/d3-quadtree-tests.ts +++ b/types/d3-quadtree/d3-quadtree-tests.ts @@ -39,7 +39,7 @@ let testData: TestDatum[] = [ let node: d3Quadtree.QuadtreeInternalNode | d3Quadtree.QuadtreeLeaf; let numberAccessor: (d: TestDatum) => number; -let simpleTestData: Array<[number, number]> = [ +const simpleTestData: Array<[number, number]> = [ [10, 20], [30, 10], [15, 80], @@ -216,7 +216,7 @@ quadtree = quadtree.visitAfter((node, x0, y0, x1, y1) => { // Test QuadtreeLeaf ========================================================= -let leaf: d3Quadtree.QuadtreeLeaf; +declare const leaf: d3Quadtree.QuadtreeLeaf; let nextLeaf: d3Quadtree.QuadtreeLeaf | undefined; testDatum = leaf.data; @@ -225,7 +225,7 @@ nextLeaf = leaf.next ? leaf.next : undefined; // Test QuadtreeInternalNode ================================================= -let internalNode: d3Quadtree.QuadtreeInternalNode; +declare const internalNode: d3Quadtree.QuadtreeInternalNode; let quadNode: d3Quadtree.QuadtreeInternalNode | d3Quadtree.QuadtreeLeaf | undefined; quadNode = internalNode[0]; diff --git a/types/d3-request/d3-request-tests.ts b/types/d3-request/d3-request-tests.ts index 8d8061d76a..8b2130240a 100644 --- a/types/d3-request/d3-request-tests.ts +++ b/types/d3-request/d3-request-tests.ts @@ -16,7 +16,7 @@ import { DSVParsedArray, DSVRowString } from 'd3-dsv'; // Preparatory Steps // ------------------------------------------------------------------------------- -const url: string = 'http:// api.reddit.com'; +const url = 'http:// api.reddit.com'; interface RequestDatumGET { kind: 'Listing'; @@ -49,13 +49,12 @@ let listenerResult: (this: d3Request.Request, result: ResponseDatumGET[]) => voi // ------------------------------------------------------------------------------- // request to configure and send in follow-up -let request: d3Request.Request = d3Request.request(url); +const request: d3Request.Request = d3Request.request(url); // GET-request with callback, immediately sent -let requestWithCallback: d3Request.Request = d3Request.request(url, (error, xhr) => { - let x: XMLHttpRequest; +const requestWithCallback: d3Request.Request = d3Request.request(url, (error, xhr) => { if (!error) { - x = xhr; + const x: XMLHttpRequest = xhr; console.log(xhr.responseText); } }); @@ -65,36 +64,34 @@ let requestWithCallback: d3Request.Request = d3Request.request(url, (error, xhr) // ------------------------------------------------------------------------------- // Abort ----------------------------------------------------------------------- -let r1: d3Request.Request = request.abort(); +const r1: d3Request.Request = request.abort(); // Get ------------------------------------------------------------------------- // no arguments -let r2: d3Request.Request = d3Request.request(url) +const r2: d3Request.Request = d3Request.request(url) .get(); // with request datum -let r3: d3Request.Request = d3Request.request(url) +const r3: d3Request.Request = d3Request.request(url) .get({ kind: 'Listing' }); // with callback for response handling -let r4: d3Request.Request = d3Request.request(url) +const r4: d3Request.Request = d3Request.request(url) .response(xhr2Listing) .get((error, response) => { - let r: ResponseDatumGET[]; if (!error) { - r = response; + const r: ResponseDatumGET[] = response; console.log(r); } }); // with request datum and callback for response handling -let r5: d3Request.Request = d3Request.request(url) +const r5: d3Request.Request = d3Request.request(url) .response(xhr2Listing) .get({ kind: 'Listing' }, (error, response) => { - let r: ResponseDatumGET[]; if (!error) { - r = response; + const r: ResponseDatumGET[] = response; console.log(r); } }); @@ -102,20 +99,20 @@ let r5: d3Request.Request = d3Request.request(url) // Headers -------------------------------------------------------------------- // get -let acceptEncoding: string = request.header('Accept-Encoding'); +const acceptEncoding: string = request.header('Accept-Encoding'); // set -let r6: d3Request.Request = request.header('Accept-Encoding', 'gzip'); +const r6: d3Request.Request = request.header('Accept-Encoding', 'gzip'); // remove -let r7: d3Request.Request = request.header('Accept-Encoding', null); +const r7: d3Request.Request = request.header('Accept-Encoding', null); // Mime Type ------------------------------------------------------------------- // get let mimeType: string = request.mimeType(); // set -let r8: d3Request.Request = request.mimeType('application/json'); +const r8: d3Request.Request = request.mimeType('application/json'); // remove -let r9: d3Request.Request = request.mimeType(null); +const r9: d3Request.Request = request.mimeType(null); // Events - on ------------------------------------------------------------------ @@ -124,8 +121,8 @@ let r10: d3Request.Request = d3Request.request(url); // beforesent r10 = r10.on('beforesend', function(xhr) { - let that: d3Request.Request = this; - let x: XMLHttpRequest = xhr; + const that: d3Request.Request = this; + const x: XMLHttpRequest = xhr; // do something; }); @@ -134,8 +131,8 @@ listenerXhr = r10.on('beforesend'); // progress r10 = r10.on('progress', function(progEvent) { - let that: d3Request.Request = this; - let e: ProgressEvent = progEvent; + const that: d3Request.Request = this; + const e: ProgressEvent = progEvent; // do something; }); @@ -144,8 +141,8 @@ listenerProgress = r10.on('progress'); // error r10 = r10.on('error', function(error) { - let that: d3Request.Request = this; - let err: any = error; + const that: d3Request.Request = this; + const err: any = error; // do something; }); @@ -154,20 +151,20 @@ listenerError = r10.on('error'); // load r10 = r10.on('load', function(result) { - let that: d3Request.Request = this; - let res: ResponseDatumGET[] = result; + const that: d3Request.Request = this; + const res: ResponseDatumGET[] = result; // do something; }); r10 = r10.on('load', function(result: ResponseDatumGET[]) { - let that: d3Request.Request = this; - let res: ResponseDatumGET[] = result; + const that: d3Request.Request = this; + const res: ResponseDatumGET[] = result; // do something; }); // r10 = r10.on('load', function(result: number) { // fails, wrong argument type for callback -// let that: d3Request.Request = this; -// let res: number = result; +// const that: d3Request.Request = this; +// const res: number = result; // // do something; // }); @@ -176,16 +173,16 @@ listenerResult = r10.on('load'); // general (for unknown type additional event listener e.g. 'beforesent.custom' or 'load.custom') r10 = r10.on('progress.foo', function(progEvent: ProgressEvent) { - let that: d3Request.Request = this; - let e: any = ProgressEvent; + const that: d3Request.Request = this; + const e: any = ProgressEvent; // do something; }); listenerProgress = r10.on('progress.foo'); r10 = r10.on('error.foo', function(error) { - let that: d3Request.Request = this; - let err: any = error; + const that: d3Request.Request = this; + const err: any = error; // do something; }); @@ -194,95 +191,85 @@ listenerError = r10.on('error.foo'); // Password --------------------------------------------------------------------- // get -let password: string = request.password(); +const password: string = request.password(); // set -let r11: d3Request.Request = request.password('MyPassword'); +const r11: d3Request.Request = request.password('MyPassword'); // Post ------------------------------------------------------------------------- function xhr2Success(xhr: XMLHttpRequest): ResponseDatumPOST { - let result: ResponseDatumPOST; - - result = JSON.parse(xhr.responseText); - - return result; + return JSON.parse(xhr.responseText); } // no arguments -let r12: d3Request.Request = d3Request.request(url) +const r12: d3Request.Request = d3Request.request(url) .post(); // with request datum -let r13: d3Request.Request = d3Request.request(url) +const r13: d3Request.Request = d3Request.request(url) .post({ test: 'NewValue', value: 10 }); // with callback for response handling -let r14: d3Request.Request = d3Request.request(url).response(xhr2Success) +const r14: d3Request.Request = d3Request.request(url).response(xhr2Success) .post(function(error, response) { - let that: d3Request.Request = this; - let err: any = error; - let res: ResponseDatumPOST = response; + const that: d3Request.Request = this; + const err: any = error; + const res: ResponseDatumPOST = response; console.log('Success? ', res.success); }); -let r15: d3Request.Request = d3Request.request(url).response(xhr2Success) +const r15: d3Request.Request = d3Request.request(url).response(xhr2Success) .post({ test: 'NewValue', value: 10 }, function(error, response) { - let that: d3Request.Request = this; - let err: any = error; - let res: ResponseDatumPOST = response; + const that: d3Request.Request = this; + const err: any = error; + const res: ResponseDatumPOST = response; console.log('Success? ', res.success); }); // Response --------------------------------------------------------------------- function xhr2Listing(xhr: XMLHttpRequest): ResponseDatumGET[] { - let result: ResponseDatumGET[]; - - result = JSON.parse(xhr.responseText); - - return result; + return JSON.parse(xhr.responseText); } -let r16: d3Request.Request = d3Request.request(url) +const r16: d3Request.Request = d3Request.request(url) .response(xhr2Listing); // ResponseType ----------------------------------------------------------------- // get -let responseType: string = d3Request.request(url) +const responseType: string = d3Request.request(url) .responseType(); // set -let r17: d3Request.Request = d3Request.request(url) +const r17: d3Request.Request = d3Request.request(url) .responseType('application/json'); // Send ------------------------------------------------------------------------ // method only -let r18: d3Request.Request = d3Request.request(url) +const r18: d3Request.Request = d3Request.request(url) .send('GET'); // method and request datum -let r19: d3Request.Request = d3Request.request(url) +const r19: d3Request.Request = d3Request.request(url) .send('POST', { test: 'NewValue', value: 10 }); // method and callback for response handling -let r20: d3Request.Request = d3Request.request(url) +const r20: d3Request.Request = d3Request.request(url) .response(xhr2Listing) .send('GET', (error, response) => { - let r: ResponseDatumGET[]; if (!error) { - r = response; + const r: ResponseDatumGET[] = response; console.log(r); } }); // method,request datum and callback for response handling -let r21: d3Request.Request = d3Request.request(url) +const r21: d3Request.Request = d3Request.request(url) .response(xhr2Listing) .send('GET', { kind: 'Listing' }, (error, response) => { - let r: ResponseDatumGET[]; if (!error) { - r = response; + const r: ResponseDatumGET[] = response; console.log(r); } }); @@ -290,28 +277,28 @@ let r21: d3Request.Request = d3Request.request(url) // Timeout ----------------------------------------------------------------------- // get -let timeout: number = d3Request.request(url) +const timeout: number = d3Request.request(url) .timeout(); // set -let r22: d3Request.Request = d3Request.request(url) +const r22: d3Request.Request = d3Request.request(url) .timeout(500); // User---------------------------------------------------------------------------- // get -let user: string = request.user(); +const user: string = request.user(); // set -let r23: d3Request.Request = request.user('User'); +const r23: d3Request.Request = request.user('User'); // ------------------------------------------------------------------------------- // HTML Request // ------------------------------------------------------------------------------- -let html: d3Request.Request = d3Request.html(url); -let htmlWithCallback: d3Request.Request = d3Request.html(url, function(error, data) { - let that: d3Request.Request = this; - let err: any = error; - let d: DocumentFragment = data; +const html: d3Request.Request = d3Request.html(url); +const htmlWithCallback: d3Request.Request = d3Request.html(url, function(error, data) { + const that: d3Request.Request = this; + const err: any = error; + const d: DocumentFragment = data; console.log(d); }); @@ -319,11 +306,11 @@ let htmlWithCallback: d3Request.Request = d3Request.html(url, function(error, da // JSON Request // ------------------------------------------------------------------------------- -let json: d3Request.Request = d3Request.json(url); -let jsonWithCallback: d3Request.Request = d3Request.json(url, function(error, data) { - let that: d3Request.Request = this; - let err: any = error; - let d: ResponseDatumGET[] = data; +const json: d3Request.Request = d3Request.json(url); +const jsonWithCallback: d3Request.Request = d3Request.json(url, function(error, data) { + const that: d3Request.Request = this; + const err: any = error; + const d: ResponseDatumGET[] = data; console.log(d); }); @@ -331,11 +318,11 @@ let jsonWithCallback: d3Request.Request = d3Request.json(url // Text Request // ------------------------------------------------------------------------------- -let text: d3Request.Request = d3Request.text(url); -let textWithCallback: d3Request.Request = d3Request.text(url, function(error, data) { - let that: d3Request.Request = this; - let err: any = error; - let d: string = data; +const text: d3Request.Request = d3Request.text(url); +const textWithCallback: d3Request.Request = d3Request.text(url, function(error, data) { + const that: d3Request.Request = this; + const err: any = error; + const d: string = data; console.log(d); }); @@ -343,11 +330,11 @@ let textWithCallback: d3Request.Request = d3Request.text(url, function(error, da // XML Request // ------------------------------------------------------------------------------- -let xml: d3Request.Request = d3Request.xml(url); -let xmlWithCallback: d3Request.Request = d3Request.xml(url, function(error, data) { - let that: d3Request.Request = this; - let err: any = error; - let d: any = data; +const xml: d3Request.Request = d3Request.xml(url); +const xmlWithCallback: d3Request.Request = d3Request.xml(url, function(error, data) { + const that: d3Request.Request = this; + const err: any = error; + const d: any = data; console.log(d); }); @@ -359,32 +346,29 @@ let xmlWithCallback: d3Request.Request = d3Request.xml(url, function(error, data let csvRequest: d3Request.DsvRequest = d3Request.csv(url); // url and callback for response handling -let csvRequestWithCallback: d3Request.DsvRequest = d3Request.csv(url, function(error, data) { - let that: d3Request.Request = this; - let err: any = error; - let d: DSVParsedArray = data; +const csvRequestWithCallback: d3Request.DsvRequest = d3Request.csv(url, function(error, data) { + const that: d3Request.Request = this; + const err: any = error; + const d: DSVParsedArray = data; console.log(d); }); // url, row mapping function and callback for response handling -let csvRequestWithRowWithCallback: d3Request.DsvRequest = d3Request.csv(url, +const csvRequestWithRowWithCallback: d3Request.DsvRequest = d3Request.csv(url, (rawRow, index, columns) => { - let rr: DSVRowString = rawRow; - let i: number = index; - let cols: string[] = columns; - let mappedRow: ResponseDatumGET; - - mappedRow = { + const rr: DSVRowString = rawRow; + const i: number = index; + const cols: string[] = columns; + const mappedRow: ResponseDatumGET = { test: rr['test'], value: +rr['value'] }; - return mappedRow; }, function(error, data) { - let that: d3Request.Request = this; - let err: any = error; - let d: DSVParsedArray = data; + const that: d3Request.Request = this; + const err: any = error; + const d: DSVParsedArray = data; console.log(data); }); @@ -393,35 +377,32 @@ let csvRequestWithRowWithCallback: d3Request.DsvRequest = d3Request.csv = data; +const tsvRequestWithCallback: d3Request.DsvRequest = d3Request.tsv(url, function(error, data) { + const that: d3Request.Request = this; + const err: any = error; + const d: DSVParsedArray = data; console.log(d); }); // url, row mapping function and callback for response handling -let tsvRequestWithRowWithCallback: d3Request.DsvRequest = d3Request.tsv(url, +const tsvRequestWithRowWithCallback: d3Request.DsvRequest = d3Request.tsv(url, (rawRow, index, columns) => { - let rr: DSVRowString = rawRow; - let i: number = index; - let cols: string[] = columns; - let mappedRow: ResponseDatumGET; - - mappedRow = { + const rr: DSVRowString = rawRow; + const i: number = index; + const cols: string[] = columns; + const mappedRow: ResponseDatumGET = { test: rr['test'], value: +rr['value'] }; - return mappedRow; }, function(error, data) { - let that: d3Request.Request = this; - let err: any = error; - let d: DSVParsedArray = data; + const that: d3Request.Request = this; + const err: any = error; + const d: DSVParsedArray = data; console.log(data); }); @@ -433,16 +414,13 @@ let tsvRequestWithRowWithCallback: d3Request.DsvRequest = d3Request.tsv((rawRow, index, columns) => { - let rr: DSVRowString = rawRow; - let i: number = index; - let cols: string[] = columns; - let mappedRow: ResponseDatumGET; - - mappedRow = { + const rr: DSVRowString = rawRow; + const i: number = index; + const cols: string[] = columns; + const mappedRow: ResponseDatumGET = { test: rr['test'], value: +rr['value'] }; - return mappedRow; }); diff --git a/types/d3-sankey/d3-sankey-tests.ts b/types/d3-sankey/d3-sankey-tests.ts index abf61775b8..ace13d7e3c 100644 --- a/types/d3-sankey/d3-sankey-tests.ts +++ b/types/d3-sankey/d3-sankey-tests.ts @@ -168,7 +168,7 @@ let sGraph: d3Sankey.SankeyGraph; // Obtain SankeyLayout Generator // --------------------------------------------------------------------------- -let slgDefault: d3Sankey.SankeyLayout, {}, {}> = d3Sankey.sankey(); +const slgDefault: d3Sankey.SankeyLayout, {}, {}> = d3Sankey.sankey(); let slgDAG: d3Sankey.SankeyLayout = d3Sankey.sankey(); let slgDAGCustomId: d3Sankey.SankeyLayout = d3Sankey.sankey(); @@ -299,7 +299,7 @@ slgDAG = slgDAG.nodes(d => d.customNodes); // Get ----------------------------------------------------------------------- -let nodesAccessor: (d: DAG) => SNode[] = slgDAG.nodes(); +const nodesAccessor: (d: DAG) => SNode[] = slgDAG.nodes(); // --------------------------------------------------------------------------- // Links @@ -315,7 +315,7 @@ slgDAG = slgDAG.links(d => d.customLinks); // Get ----------------------------------------------------------------------- -let linksAccessor: (d: DAG) => SLink[] = slgDAG.links(); +const linksAccessor: (d: DAG) => SLink[] = slgDAG.links(); // --------------------------------------------------------------------------- // Compute Initial Layout @@ -344,7 +344,7 @@ pathGen = d3Sankey.sankeyLinkHorizontal(); // Render to svg path -let svgPathString: string | null = pathGen(sGraph.links[0]); +const svgPathString: string | null = pathGen(sGraph.links[0]); svgLinkPaths.attr('d', pathGen); // Render to canvas @@ -361,7 +361,7 @@ pathGen(sGraph.links[0]); // Sankey Node -------------------------------------------------------------- sNodes = sGraph.nodes; -let sNode = sNodes[0]; +const sNode = sNodes[0]; // User-specified extra properties: @@ -386,7 +386,7 @@ linksArrMaybe = sNode.targetLinks; // Sankey Link -------------------------------------------------------------- sLinks = sGraph.links; -let sLink = sLinks[0]; +const sLink = sLinks[0]; // User-specified extra properties: diff --git a/types/d3-scale-chromatic/d3-scale-chromatic-tests.ts b/types/d3-scale-chromatic/d3-scale-chromatic-tests.ts index 1dac850043..f6b322b74d 100644 --- a/types/d3-scale-chromatic/d3-scale-chromatic-tests.ts +++ b/types/d3-scale-chromatic/d3-scale-chromatic-tests.ts @@ -11,50 +11,50 @@ import * as d3ScaleChromatic from 'd3-scale-chromatic'; // ----------------------------------------------------------------------- // Categorical // ----------------------------------------------------------------------- -let accent: string = d3ScaleChromatic.schemeAccent[0]; // #7fc97f -let dark: string = d3ScaleChromatic.schemeDark2[0]; // #1b9e77 -let paired: string = d3ScaleChromatic.schemePaired[0]; // #a6cee3 -let pastel1: string = d3ScaleChromatic.schemePastel1[0]; // #fbb4ae -let pastel2: string = d3ScaleChromatic.schemePastel2[0]; // #b3e2cd -let set1: string = d3ScaleChromatic.schemeSet1[0]; // #e41a1c -let set2: string = d3ScaleChromatic.schemeSet2[0]; // #66c2a5 -let set3: string = d3ScaleChromatic.schemeSet3[0]; // #8dd3c7 +const accent: string = d3ScaleChromatic.schemeAccent[0]; // #7fc97f +const dark: string = d3ScaleChromatic.schemeDark2[0]; // #1b9e77 +const paired: string = d3ScaleChromatic.schemePaired[0]; // #a6cee3 +const pastel1: string = d3ScaleChromatic.schemePastel1[0]; // #fbb4ae +const pastel2: string = d3ScaleChromatic.schemePastel2[0]; // #b3e2cd +const set1: string = d3ScaleChromatic.schemeSet1[0]; // #e41a1c +const set2: string = d3ScaleChromatic.schemeSet2[0]; // #66c2a5 +const set3: string = d3ScaleChromatic.schemeSet3[0]; // #8dd3c7 // ----------------------------------------------------------------------- // Diverging // ----------------------------------------------------------------------- -let BrBG: string = d3ScaleChromatic.interpolateBrBG(0); // rgb(84, 48, 5) -let PRGn: string = d3ScaleChromatic.interpolatePRGn(0); // rgb(64, 0, 75) -let PiYG: string = d3ScaleChromatic.interpolatePiYG(0); // rgb(142, 1, 82) -let PuOr: string = d3ScaleChromatic.interpolatePuOr(0); // rgb(127, 59, 8) -let RdBu: string = d3ScaleChromatic.interpolateRdBu(0); // rgb(103, 0, 31) -let RdGy: string = d3ScaleChromatic.interpolateRdGy(0); // rgb(103, 0, 31) -let RdYlBu: string = d3ScaleChromatic.interpolateRdYlBu(0); // rgb(103, 0, 31) -let RdYlGn: string = d3ScaleChromatic.interpolateRdYlGn(0); // rgb(103, 0, 31) -let Spectral: string = d3ScaleChromatic.interpolateSpectral(0); // rgb(158, 1, 66) +const BrBG: string = d3ScaleChromatic.interpolateBrBG(0); // rgb(84, 48, 5) +const PRGn: string = d3ScaleChromatic.interpolatePRGn(0); // rgb(64, 0, 75) +const PiYG: string = d3ScaleChromatic.interpolatePiYG(0); // rgb(142, 1, 82) +const PuOr: string = d3ScaleChromatic.interpolatePuOr(0); // rgb(127, 59, 8) +const RdBu: string = d3ScaleChromatic.interpolateRdBu(0); // rgb(103, 0, 31) +const RdGy: string = d3ScaleChromatic.interpolateRdGy(0); // rgb(103, 0, 31) +const RdYlBu: string = d3ScaleChromatic.interpolateRdYlBu(0); // rgb(103, 0, 31) +const RdYlGn: string = d3ScaleChromatic.interpolateRdYlGn(0); // rgb(103, 0, 31) +const Spectral: string = d3ScaleChromatic.interpolateSpectral(0); // rgb(158, 1, 66) // ----------------------------------------------------------------------- // Sequential // ----------------------------------------------------------------------- -let Blue: string = d3ScaleChromatic.interpolateBlues(1); // rgb(8, 48, 107) -let Green: string = d3ScaleChromatic.interpolateGreens(1); // rgb(0, 68, 27) -let Grey: string = d3ScaleChromatic.interpolateGreys(1); // rgb(0, 0, 0) -let Orange: string = d3ScaleChromatic.interpolateOranges(1); // rgb(127, 39, 4) -let Purple: string = d3ScaleChromatic.interpolatePurples(1); // rgb(63, 0, 125) -let Red: string = d3ScaleChromatic.interpolateReds(1); // rgb(103, 0, 13) +const Blue: string = d3ScaleChromatic.interpolateBlues(1); // rgb(8, 48, 107) +const Green: string = d3ScaleChromatic.interpolateGreens(1); // rgb(0, 68, 27) +const Grey: string = d3ScaleChromatic.interpolateGreys(1); // rgb(0, 0, 0) +const Orange: string = d3ScaleChromatic.interpolateOranges(1); // rgb(127, 39, 4) +const Purple: string = d3ScaleChromatic.interpolatePurples(1); // rgb(63, 0, 125) +const Red: string = d3ScaleChromatic.interpolateReds(1); // rgb(103, 0, 13) // ----------------------------------------------------------------------- // Sequential(Multi-Hue) // ----------------------------------------------------------------------- -let BuGn: string = d3ScaleChromatic.interpolateBuGn(1); // rgb(0, 68, 27) -let BuPu: string = d3ScaleChromatic.interpolateBuPu(1); // rgb(77, 0, 75) -let GnBu: string = d3ScaleChromatic.interpolateGnBu(1); // rgb(8, 64, 129) -let OrRd: string = d3ScaleChromatic.interpolateOrRd(1); // rgb(127, 0, 0) -let PuBuGn: string = d3ScaleChromatic.interpolatePuBuGn(1); // rgb(1, 70, 54) -let PuBu: string = d3ScaleChromatic.interpolatePuBu(1); // rgb(2, 56, 88) -let PuRd: string = d3ScaleChromatic.interpolatePuRd(1); // rgb(103, 0, 31) -let RdPu: string = d3ScaleChromatic.interpolateRdPu(1); // rgb(73, 0, 106) -let YlGnBu: string = d3ScaleChromatic.interpolateYlGnBu(1); // rgb(8, 29, 88) -let YlGn: string = d3ScaleChromatic.interpolateYlGn(1); // rgb(0, 69, 41) -let YlOrBr: string = d3ScaleChromatic.interpolateYlOrBr(1); // rgb(102, 37, 6) -let YlOrRd: string = d3ScaleChromatic.interpolateYlOrRd(1); // rgb(128, 0, 38) +const BuGn: string = d3ScaleChromatic.interpolateBuGn(1); // rgb(0, 68, 27) +const BuPu: string = d3ScaleChromatic.interpolateBuPu(1); // rgb(77, 0, 75) +const GnBu: string = d3ScaleChromatic.interpolateGnBu(1); // rgb(8, 64, 129) +const OrRd: string = d3ScaleChromatic.interpolateOrRd(1); // rgb(127, 0, 0) +const PuBuGn: string = d3ScaleChromatic.interpolatePuBuGn(1); // rgb(1, 70, 54) +const PuBu: string = d3ScaleChromatic.interpolatePuBu(1); // rgb(2, 56, 88) +const PuRd: string = d3ScaleChromatic.interpolatePuRd(1); // rgb(103, 0, 31) +const RdPu: string = d3ScaleChromatic.interpolateRdPu(1); // rgb(73, 0, 106) +const YlGnBu: string = d3ScaleChromatic.interpolateYlGnBu(1); // rgb(8, 29, 88) +const YlGn: string = d3ScaleChromatic.interpolateYlGn(1); // rgb(0, 69, 41) +const YlOrBr: string = d3ScaleChromatic.interpolateYlOrBr(1); // rgb(102, 37, 6) +const YlOrRd: string = d3ScaleChromatic.interpolateYlOrRd(1); // rgb(128, 0, 38) diff --git a/types/d3-shape/d3-shape-tests.ts b/types/d3-shape/d3-shape-tests.ts index ee9a8fbb98..4199d2f170 100644 --- a/types/d3-shape/d3-shape-tests.ts +++ b/types/d3-shape/d3-shape-tests.ts @@ -447,8 +447,8 @@ let lineRadial: d3Shape.LineRadial = d3Shape.lineRadial = defaultLineRadial; -let radialLine: d3Shape.RadialLine = lineRadial; +const defaultRadialLine: d3Shape.RadialLine<[number, number]> = defaultLineRadial; +const radialLine: d3Shape.RadialLine = lineRadial; defaultLineRadial = d3Shape.radialLine(); lineRadial = d3Shape.radialLine(); @@ -685,8 +685,8 @@ let areaRadial: d3Shape.AreaRadial = d3Shape.areaRadial = defaultAreaRadial; -let radialArea: d3Shape.RadialArea = areaRadial; +const defaultRadialArea: d3Shape.RadialArea<[number, number]> = defaultAreaRadial; +const radialArea: d3Shape.RadialArea = areaRadial; defaultAreaRadial = d3Shape.radialArea(); areaRadial = d3Shape.radialArea(); @@ -1322,7 +1322,7 @@ customSymbol = d3Shape.symbolWye; // Test pointRadial // ----------------------------------------------------------------------------------- -let coordinatates: [number, number] = d3Shape.pointRadial(0, 12); +const coordinatates: [number, number] = d3Shape.pointRadial(0, 12); // ----------------------------------------------------------------------------------- // Test Stacks diff --git a/types/d3-time-format/d3-time-format-tests.ts b/types/d3-time-format/d3-time-format-tests.ts index 547a77aabe..eb569dd779 100644 --- a/types/d3-time-format/d3-time-format-tests.ts +++ b/types/d3-time-format/d3-time-format-tests.ts @@ -12,8 +12,6 @@ import * as d3TimeFormat from 'd3-time-format'; // Preparatory Steps // ---------------------------------------------------------------------- -let num: number; - let formatFn: (n: Date) => string; let parseFn: (dateString: string) => (Date | null); @@ -38,21 +36,21 @@ parseFn = d3TimeFormat.utcParse('.%L'); // iso ------------------------------------------------------------------ -let dateString: string = d3TimeFormat.isoFormat(new Date(2016, 6, 6)); -let date: Date = d3TimeFormat.isoParse('2016-07-08T14:06:41.386Z'); +const dateString: string = d3TimeFormat.isoFormat(new Date(2016, 6, 6)); +const date: Date = d3TimeFormat.isoParse('2016-07-08T14:06:41.386Z'); // ---------------------------------------------------------------------- // Test Locale Definition // ---------------------------------------------------------------------- -let dateTimeSpecifier: string = localeDef.dateTime; -let dateSpecifier: string = localeDef.date; -let timeSpecifier: string = localeDef.time; -let periods: [string, string] = localeDef.periods; -let days: [string, string, string, string, string, string, string] = localeDef.days; -let shortDays: [string, string, string, string, string, string, string] = localeDef.shortDays; -let months: [string, string, string, string, string, string, string, string, string, string, string, string] = localeDef.months; -let shortMonths: [string, string, string, string, string, string, string, string, string, string, string, string] = localeDef.shortMonths; +const dateTimeSpecifier: string = localeDef.dateTime; +const dateSpecifier: string = localeDef.date; +const timeSpecifier: string = localeDef.time; +const periods: [string, string] = localeDef.periods; +const days: [string, string, string, string, string, string, string] = localeDef.days; +const shortDays: [string, string, string, string, string, string, string] = localeDef.shortDays; +const months: [string, string, string, string, string, string, string, string, string, string, string, string] = localeDef.months; +const shortMonths: [string, string, string, string, string, string, string, string, string, string, string, string] = localeDef.shortMonths; localeDef = { dateTime: '%a %b %e %X %Y', diff --git a/types/d3-time/d3-time-tests.ts b/types/d3-time/d3-time-tests.ts index a99cd818a0..57905d5286 100644 --- a/types/d3-time/d3-time-tests.ts +++ b/types/d3-time/d3-time-tests.ts @@ -11,9 +11,9 @@ import * as d3Time from 'd3-time'; let countableI: d3Time.CountableTimeInterval; let simpleI: d3Time.TimeInterval; let dateArray: Date[]; -let start: Date = new Date(2014, 1, 1, 6, 0, 0, 0); -let end: Date = new Date(2016, 6, 13, 1, 25, 15, 500); -let inBetween: Date = new Date(2015, 6, 13, 1, 30, 5, 700); +const start: Date = new Date(2014, 1, 1, 6, 0, 0, 0); +const end: Date = new Date(2016, 6, 13, 1, 25, 15, 500); +const inBetween: Date = new Date(2015, 6, 13, 1, 30, 5, 700); let resultDate: Date; let count: number; @@ -75,7 +75,7 @@ simpleI = countableI.filter((d: Date) => d.getMonth() === 2); count = countableI.count(start, end); // let countableIOrNull: d3Time.CountableTimeInterval | null = countableI.every(10); // Test fails, since .every(...) return Interval and not CountableInterval -let simpleIOrNull: d3Time.TimeInterval | null = countableI.every(10); +const simpleIOrNull: d3Time.TimeInterval | null = countableI.every(10); resultDate = simpleI.floor(inBetween); resultDate = simpleI.round(inBetween); diff --git a/types/d3-timer/d3-timer-tests.ts b/types/d3-timer/d3-timer-tests.ts index d3e755ede1..042fc11072 100644 --- a/types/d3-timer/d3-timer-tests.ts +++ b/types/d3-timer/d3-timer-tests.ts @@ -9,7 +9,7 @@ import * as d3Timer from 'd3-timer'; // Test now definition -let now: number = d3Timer.now(); +const now: number = d3Timer.now(); // Test timer and timerFlush definitions ------------ diff --git a/types/d3-voronoi/d3-voronoi-tests.ts b/types/d3-voronoi/d3-voronoi-tests.ts index 7dea86241e..76971d6217 100644 --- a/types/d3-voronoi/d3-voronoi-tests.ts +++ b/types/d3-voronoi/d3-voronoi-tests.ts @@ -24,7 +24,7 @@ interface VoronoiTestDatum { y: number; } -let testData: VoronoiTestDatum[] = [ +const testData: VoronoiTestDatum[] = [ { x: 10, y: 10 }, { x: 20, y: 10 }, { x: 10, y: 20 }, @@ -84,7 +84,7 @@ pointPair = [[10, 10], [50, 50]]; // VoronoiPolygon ------------------------------------------------------- -let voronoiPolygon: d3Voronoi.VoronoiPolygon; +declare const voronoiPolygon: d3Voronoi.VoronoiPolygon; voronoiPolygon[0][0] = 10; // x-coordinate of first point voronoiPolygon[0][1] = 10; // y-coordinate of first point @@ -229,7 +229,6 @@ testDatum = link.target; // find() =============================================================== let nearestSite: d3Voronoi.VoronoiSite | null; -let wrongSiteDataType: d3Voronoi.VoronoiSite<[number, number]> | null; // Without search radius nearestSite = voronoiDiagram.find(10, 50); @@ -238,4 +237,4 @@ nearestSite = voronoiDiagram.find(10, 50); nearestSite = voronoiDiagram.find(10, 50, 20); // wrong data type -// wrongSiteDataType = voronoiDiagram.find(10, 50); // fails, due to data type mismatch +// const wrongSiteDataType: d3Voronoi.VoronoiSite<[number, number]> | null; = voronoiDiagram.find(10, 50); // fails, due to data type mismatch diff --git a/types/datatables.net/index.d.ts b/types/datatables.net/index.d.ts index 99a2aae7b8..8017017d8c 100644 --- a/types/datatables.net/index.d.ts +++ b/types/datatables.net/index.d.ts @@ -1321,7 +1321,7 @@ declare namespace DataTables { /** * Set an initial filter in DataTables and / or filtering options. Since: 1.10 */ - search?: SearchSettings; + search?: SearchSettings | boolean; /** * Set placeholder attribute for input type="text" tag elements. Since: 1.10 diff --git a/types/datejs/index.d.ts b/types/datejs/index.d.ts index d7c1854253..1863dc2a6f 100644 --- a/types/datejs/index.d.ts +++ b/types/datejs/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for DateJS // Project: http://www.datejs.com/ -// Definitions by: David Khristepher Santos +// Definitions by: David Khristepher Santos // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped //NOTE: This definition file is for the library located at http://datejs.googlecode.com/svn/ and documented at https://code.google.com/p/datejs/wiki/APIDocumentation diff --git a/types/datejs/sugarpak.d.ts b/types/datejs/sugarpak.d.ts index b4077960ad..b389f2c723 100644 --- a/types/datejs/sugarpak.d.ts +++ b/types/datejs/sugarpak.d.ts @@ -1,6 +1,6 @@ // Type definitions for DateJS - SugarPak Extensions // Project: http://www.datejs.com/ -// Definitions by: David Khristepher Santos +// Definitions by: David Khristepher Santos // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /** SugarPak.js - Domain Specific Language - Syntactical Sugar */ diff --git a/types/db-migrate-pg/index.d.ts b/types/db-migrate-pg/index.d.ts index 6a72fd1109..09cba26317 100644 --- a/types/db-migrate-pg/index.d.ts +++ b/types/db-migrate-pg/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for db-migrate-pg // Project: https://github.com/db-migrate/pg -// Definitions by: nickiannone +// Definitions by: nickiannone // Definitions: https://github.com/nickiannone/DefinitelyTyped // TypeScript Version: 2.3 diff --git a/types/deasync/deasync-tests.ts b/types/deasync/deasync-tests.ts index e4e77561e9..982e34c338 100644 --- a/types/deasync/deasync-tests.ts +++ b/types/deasync/deasync-tests.ts @@ -7,7 +7,7 @@ function handle(res: number) {} asyncFunction(42, handle); // deasync -let wrapped = deasync(asyncFunction); +const wrapped = deasync(asyncFunction); handle(wrapped(42)); // deasync.loopWhile diff --git a/types/debessmann/debessmann-tests.ts b/types/debessmann/debessmann-tests.ts index 4a247827fd..ab135de254 100644 --- a/types/debessmann/debessmann-tests.ts +++ b/types/debessmann/debessmann-tests.ts @@ -1,9 +1,9 @@ import { DM, Event, EventId } from 'debessmann'; -let eventId: EventId = {seq: 0, time: new Date()}; -let e: Event = {_id: eventId, headers: {header1: 'header1Val'}}; +const eventId: EventId = {seq: 0, time: new Date()}; +const e: Event = {_id: eventId, headers: {header1: 'header1Val'}}; -let dm: DM = { +const dm: DM = { init(endpoint: string, auth: string): void { }, send(data: Event): void { diff --git a/types/decimal.js/index.d.ts b/types/decimal.js/index.d.ts index 69521a46cc..27f4213612 100644 --- a/types/decimal.js/index.d.ts +++ b/types/decimal.js/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for decimal.js // Project: http://mikemcl.github.io/decimal.js -// Definitions by: Joseph Rossi +// Definitions by: Joseph Rossi // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare var Decimal: decimal.IDecimalStatic; diff --git a/types/deep-equal/index.d.ts b/types/deep-equal/index.d.ts index d9c4b5f6cf..7451fbc255 100644 --- a/types/deep-equal/index.d.ts +++ b/types/deep-equal/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for deep-equal 1.0 // Project: https://github.com/substack/node-deep-equal -// Definitions by: remojansen , Jay Anslow +// Definitions by: remojansen , Jay Anslow // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped interface DeepEqualOptions { diff --git a/types/detect-port/detect-port-tests.ts b/types/detect-port/detect-port-tests.ts index 759313665b..afd532ead0 100644 --- a/types/detect-port/detect-port-tests.ts +++ b/types/detect-port/detect-port-tests.ts @@ -1,6 +1,6 @@ import * as detect from "detect-port"; -const port: number = 8000; +const port = 8000; /** * callback usage diff --git a/types/dhtmlxgantt/index.d.ts b/types/dhtmlxgantt/index.d.ts index f94ba88a33..53626662ec 100644 --- a/types/dhtmlxgantt/index.d.ts +++ b/types/dhtmlxgantt/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for dhtmlxGantt 4.0.0 // Project: http://dhtmlx.com/docs/products/dhtmlxGantt -// Definitions by: Maksim Kozhukh , Christophe Camicas +// Definitions by: Maksim Kozhukh , Christophe Camicas // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/dhtmlxscheduler/index.d.ts b/types/dhtmlxscheduler/index.d.ts index 2a5ff01c87..96c9670a4d 100644 --- a/types/dhtmlxscheduler/index.d.ts +++ b/types/dhtmlxscheduler/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for dhtmlxScheduler 4.3.0 // Project: http://dhtmlx.com/docs/products/dhtmlxScheduler -// Definitions by: Maksim Kozhukh +// Definitions by: Maksim Kozhukh // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped interface SchedulerCallback { (...args: any[]): any } diff --git a/types/diff/diff-tests.ts b/types/diff/diff-tests.ts index e1b1025495..0d49147c33 100644 --- a/types/diff/diff-tests.ts +++ b/types/diff/diff-tests.ts @@ -1,12 +1,11 @@ -// tslint:disable:no-var only-arrow-functions import jsdiff = require('diff'); -var one = 'beep boop'; -var other = 'beep boob blah'; +const one = 'beep boop'; +const other = 'beep boob blah'; -var diff = jsdiff.diffChars(one, other); +let diff = jsdiff.diffChars(one, other); -diff.forEach(function(part) { - var mark = part.added ? '+' : +diff.forEach(part => { + const mark = part.added ? '+' : part.removed ? '-' : ' '; console.log(mark + " " + part.value); }); @@ -23,8 +22,8 @@ class LineDiffWithoutWhitespace extends jsdiff.Diff { } } -var obj = new LineDiffWithoutWhitespace(true); -var diff = obj.diff(one, other); +const obj = new LineDiffWithoutWhitespace(true); +diff = obj.diff(one, other); printDiff(diff); function printDiff(diff: jsdiff.IDiffResult[]) { @@ -50,7 +49,7 @@ function printDiff(diff: jsdiff.IDiffResult[]) { } function verifyPatchMethods(oldStr: string, newStr: string, uniDiff: jsdiff.IUniDiff) { - var verifyPatch = jsdiff.parsePatch( + const verifyPatch = jsdiff.parsePatch( jsdiff.createTwoFilesPatch("oldFile.ts", "newFile.ts", oldStr, newStr, "old", "new", { context: 1 })); if (JSON.stringify(verifyPatch) !== JSON.stringify(uniDiff)) { @@ -58,7 +57,7 @@ function verifyPatchMethods(oldStr: string, newStr: string, uniDiff: jsdiff.IUni } } function verifyApplyMethods(oldStr: string, newStr: string, uniDiff: jsdiff.IUniDiff) { - var verifyApply = [ + const verifyApply = [ jsdiff.applyPatch(oldStr, uniDiff), jsdiff.applyPatch(oldStr, [uniDiff]) ]; @@ -83,7 +82,7 @@ function verifyApplyMethods(oldStr: string, newStr: string, uniDiff: jsdiff.IUni }); } -verifyPatchMethods(one, other, uniDiff); -var uniDiff = jsdiff.structuredPatch("oldFile.ts", "newFile.ts", one, other, +const uniDiff = jsdiff.structuredPatch("oldFile.ts", "newFile.ts", one, other, "old", "new", { context: 1 }); +verifyPatchMethods(one, other, uniDiff); verifyApplyMethods(one, other, uniDiff); diff --git a/types/dockerode/tslint.json b/types/dockerode/tslint.json index 3db14f85ea..aac1f69ee8 100644 --- a/types/dockerode/tslint.json +++ b/types/dockerode/tslint.json @@ -1 +1,7 @@ -{ "extends": "dtslint/dt.json" } +{ + "extends": "dtslint/dt.json", + "rules": { + // TODO + "await-promise": false + } +} diff --git a/types/dom-inputevent/tslint.json b/types/dom-inputevent/tslint.json index 3db14f85ea..b63c1c3846 100644 --- a/types/dom-inputevent/tslint.json +++ b/types/dom-inputevent/tslint.json @@ -1 +1,7 @@ -{ "extends": "dtslint/dt.json" } +{ + "extends": "dtslint/dt.json", + "rules": { + // TODO + "no-boolean-literal-compare": false + } +} diff --git a/types/dustjs-linkedin/index.d.ts b/types/dustjs-linkedin/index.d.ts index c3381ea00c..17513f1f17 100644 --- a/types/dustjs-linkedin/index.d.ts +++ b/types/dustjs-linkedin/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for linkedin dustjs 1.2.1 // Project: https://github.com/linkedin/dustjs -// Definitions by: Marcelo Dezem +// Definitions by: Marcelo Dezem // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // diff --git a/types/dwt/dwt-tests.ts b/types/dwt/dwt-tests.ts index 4b201cf33d..b1a5cc6b09 100644 --- a/types/dwt/dwt-tests.ts +++ b/types/dwt/dwt-tests.ts @@ -1,5 +1,5 @@ function dwtOnReady() { - let DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); // Get the Dynamic Web TWAIN object that is embeded in the div with id 'dwtcontrolContainer' + const DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); // Get the Dynamic Web TWAIN object that is embeded in the div with id 'dwtcontrolContainer' if (DWObject) { let count = DWObject.SourceCount; if (count === 0) { @@ -12,7 +12,7 @@ function dwtOnReady() { } function acquireImage() { - let DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); + const DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); if (DWObject) { DWObject.SelectSourceByIndex(0); // Use method SelectSourceByIndex to avoid the 'Select Source' dialog DWObject.OpenSource(); @@ -22,7 +22,7 @@ function acquireImage() { } function registerEvent() { - let DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); + const DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); if (DWObject) { // The event OnPostTransfer fires after each image is scanned and transferred DWObject.RegisterEvent("OnPostTransfer", function () {}); @@ -41,7 +41,7 @@ function registerEvent() { } function editImage() { - let DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); + const DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); if (DWObject) { if (DWObject.HowManyImagesInBuffer > 0) DWObject.RotateLeft(DWObject.CurrentImageIndexInBuffer); @@ -58,14 +58,14 @@ function editImage() { } function showImageEditor() { - let DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); + const DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); if (DWObject) { DWObject.ShowImageEditor(); } } function saveImage() { - let DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); + const DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); if (DWObject) { DWObject.ConvertToGrayScale(DWObject.CurrentImageIndexInBuffer); DWObject.SaveAsJPEG("DynamicWebTWAIN.jpg", DWObject.CurrentImageIndexInBuffer); @@ -75,8 +75,8 @@ function saveImage() { } function updateLargeViewer() { - let DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); - let DWObjectLargeViewer = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainerLargeViewer'); + const DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); + const DWObjectLargeViewer = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainerLargeViewer'); if (DWObject) { DWObject.CopyToClipboard(DWObject.CurrentImageIndexInBuffer); // Copy the current image in the thumbnail to clipboard in DIB format. DWObjectLargeViewer.LoadDibFromClipboard(); // Load the image from Clipboard into the large viewer. @@ -84,7 +84,7 @@ function updateLargeViewer() { } function uploadImage() { - let DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); + const DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); if (DWObject) { DWObject.HTTPPort = 80; DWObject.IfSSL = false; @@ -93,7 +93,7 @@ function uploadImage() { } function downloadImage() { - let DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); + const DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); if (DWObject) { DWObject.HTTPPort = 80; DWObject.HTTPDownload("www.dynamsoft.com", "img.png", () => {}, (errorCode: number, errorString: string) => {}); diff --git a/types/ej.web.all/tslint.json b/types/ej.web.all/tslint.json index f85abff699..cacaecba4b 100644 --- a/types/ej.web.all/tslint.json +++ b/types/ej.web.all/tslint.json @@ -1,9 +1,13 @@ { "extends": "dtslint/dt.json", "rules": { + // All are TODOs "comment-format": false, "no-consecutive-blank-lines": false, + "no-irregular-whitespace": false, + "no-mergeable-namespace": false, "no-padding": false, + "no-unnecessary-qualifier": false, "strict-export-declare-modifiers": false } } diff --git a/types/elasticsearch/index.d.ts b/types/elasticsearch/index.d.ts index 34be61f5b0..fbe9795b9e 100644 --- a/types/elasticsearch/index.d.ts +++ b/types/elasticsearch/index.d.ts @@ -83,6 +83,7 @@ declare module Elasticsearch { update(params: UpdateDocumentParams, callback: (error: any, response: any) => void): void; updateByQuery(params: UpdateDocumentByQueryParams): Promise; updateByQuery(params: UpdateDocumentByQueryParams, callback: (error: any, response: any) => void): void; + close(): void; } export interface ConfigOptions { @@ -626,7 +627,7 @@ declare module Elasticsearch { _id: string; _score: number; _source: T; - _version: number; + _version?: number; _explanation?: Explanation; fields?: any; highlight?: any; diff --git a/types/electron-packager/index.d.ts b/types/electron-packager/index.d.ts index 7a4504c386..df5a10eb92 100644 --- a/types/electron-packager/index.d.ts +++ b/types/electron-packager/index.d.ts @@ -185,15 +185,12 @@ declare namespace electronPackager { * If present, signs OS X target apps when the host platform is OS X and XCode is installed. */ osxSign?: boolean | ElectronOsXSignOptions; - /** - * The URL protocol scheme(s) to associate the app with - */ - protocol?: string[]; - /** - * The descriptive name(s) of the URL protocol scheme(s) specified via the protocol option. - * Maps to the CFBundleURLName metadata property. - */ - protocolName?: string[]; + + /** The URL protocol schemes the app supports. */ + protocols?: Array<{ + name: string + schemes: string[] + }>; /** * Windows targets only diff --git a/types/electron-settings/v2/tslint.json b/types/electron-settings/v2/tslint.json index 4f44991c3c..bc27c7eca5 100644 --- a/types/electron-settings/v2/tslint.json +++ b/types/electron-settings/v2/tslint.json @@ -1,6 +1,8 @@ { "extends": "dtslint/dt.json", "rules": { + // TODOs + "no-boolean-literal-compare": false, "no-empty-interface": false } } diff --git a/types/ember/ember-tests.ts b/types/ember/ember-tests.ts index b5097848ff..0ce8667862 100644 --- a/types/ember/ember-tests.ts +++ b/types/ember/ember-tests.ts @@ -106,13 +106,13 @@ App.userController = Ember.Object.create({ }); Ember.Helper.helper(params => { - let cents = params[0]; + const cents = params[0]; return `${cents * 0.01}`; }); Ember.Helper.helper((params, hash) => { - let cents = params[0]; - let currency = hash.currency; + const cents = params[0]; + const currency = hash.currency; return `${currency}${cents * 0.01}`; }); diff --git a/types/engine.io-client/engine.io-client-tests.ts b/types/engine.io-client/engine.io-client-tests.ts index 4a73136cef..aaf3f5be35 100644 --- a/types/engine.io-client/engine.io-client-tests.ts +++ b/types/engine.io-client/engine.io-client-tests.ts @@ -3,7 +3,7 @@ import client = require('engine.io-client'); let server: engine.Server; let socket: client.Socket; -let options: client.SocketOptions = {}; +const options: client.SocketOptions = {}; options.agent = false; options.upgrade = true; diff --git a/types/enhanced-resolve/index.d.ts b/types/enhanced-resolve/index.d.ts index aa85a8336f..5a39b4f6d0 100644 --- a/types/enhanced-resolve/index.d.ts +++ b/types/enhanced-resolve/index.d.ts @@ -1,5 +1,5 @@ // Type definitions for enhanced-resolve v3.0.0 -// Project: http://github.com/webpack/enhanced-resolve.git +// Project: https://github.com/webpack/enhanced-resolve.git // Definitions by: e-cloud , Onigoetz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/es6-collections/index.d.ts b/types/es6-collections/index.d.ts index 69f3b10cd8..5d3290a675 100644 --- a/types/es6-collections/index.d.ts +++ b/types/es6-collections/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for es6-collections v0.5.1 // Project: https://github.com/WebReflection/es6-collections/ -// Definitions by: Ron Buckton +// Definitions by: Ron Buckton // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 diff --git a/types/es6-shim/index.d.ts b/types/es6-shim/index.d.ts index 4c03fc8b9e..51824fc932 100644 --- a/types/es6-shim/index.d.ts +++ b/types/es6-shim/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for es6-shim v0.31.2 // Project: https://github.com/paulmillr/es6-shim -// Definitions by: Ron Buckton +// Definitions by: Ron Buckton // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 diff --git a/types/esri-leaflet/esri-leaflet-tests.ts b/types/esri-leaflet/esri-leaflet-tests.ts index a4fcebcb5a..d0f1249232 100644 --- a/types/esri-leaflet/esri-leaflet-tests.ts +++ b/types/esri-leaflet/esri-leaflet-tests.ts @@ -223,7 +223,7 @@ dynamicMapLayer = new L.esri.DynamicMapLayer({ }); dynamicMapLayer.bindPopup(function (err, featureCollection, response) { - let count = featureCollection.features.length; + const count = featureCollection.features.length; return (count) ? count + ' features' : false; }); @@ -456,7 +456,7 @@ featureLayerService.query() .where("Direction = 'WEST'") .run(function (error, featureCollection, response) { }); -let feature = { +const feature = { type: 'Feature', geometry: { type: 'Point', @@ -468,7 +468,7 @@ let feature = { }; featureLayerService.addFeature(feature, function (error, response) { }); -let feature2 = { +const feature2 = { type: 'Feature', id: 2, geometry: { diff --git a/types/esri-leaflet/index.d.ts b/types/esri-leaflet/index.d.ts index 173e856e98..bb0163f80e 100644 --- a/types/esri-leaflet/index.d.ts +++ b/types/esri-leaflet/index.d.ts @@ -3,13 +3,6 @@ // Definitions by: strajuser // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// tslint:disable:whitespace -// tslint:disable:no-trailing-whitespace -// tslint:disable:prefer-method-signature -// tslint:disable:no-single-declare-module -// tslint:disable:max-line-length -// tslint:disable:no-empty-interface - /// declare namespace L { @@ -19,43 +12,43 @@ declare namespace L { interface LayerOptionsBase { /** * URL of the Map Service - * + * * @type {string} * @memberof LayerOptionsBase */ url: string; /** * URL of an ArcGIS API for JavaScript proxy or ArcGIS Resource Proxy to use for proxying requests. - * + * * @type {string} * @memberof LayerOptionsBase */ proxy?: string; /** * Dictates if the service should use CORS when making GET requests. - * + * * @type {boolean} * @memberof LayerOptionsBase */ useCors?: boolean; /** * Will use this token to authenticate all calls to the service. - * + * * @type {string} * @memberof LayerOptionsBase */ token?: string; } - type Basemaps = - 'Streets' + type Basemaps = + 'Streets' | 'Topographic' | 'NationalGeographic' | 'Oceans' | 'Gray' | 'DarkGray' | 'Imagery' - | 'ShadedRelief' + | 'ShadedRelief' | 'Terrain' | 'USATopo' | 'OceansLabels' @@ -63,7 +56,7 @@ declare namespace L { | 'DarkGrayLabels' | 'ImageryLabels' | 'ImageryTransportation' - | 'ShadedReliefLabels' + | 'ShadedReliefLabels' | 'TerrainLabels'; type LeafletGeometry = L.Marker | L.Polygon | L.Polyline | L.LatLngExpression | L.LatLngBounds | L.GeoJSON; @@ -75,17 +68,17 @@ declare namespace L { wkid?: number; wkt?: string; } - + /** * Options for L.esri.BasemapLayer - * + * * @interface BasemapLayerOptions * @extends {L.TileLayerOptions} */ interface BasemapLayerOptions extends L.TileLayerOptions { /** * Will use this token to authenticate all calls to the service. - * + * * @type {string} * @memberof BasemapLayerOptions */ @@ -94,7 +87,7 @@ declare namespace L { /** * L.esri.BasemapLayer is used to display Esri hosted basemaps and attributes data providers appropriately. The Terms of Use for Esri hosted services apply to all Leaflet applications. - * + * * @class BasemapLayer * @extends {L.TileLayer} */ @@ -104,16 +97,16 @@ declare namespace L { /** * L.esri.basemapLayer is used to display Esri hosted basemaps and attributes data providers appropriately. The Terms of Use for Esri hosted services apply to all Leaflet applications. - * - * @param {Basemaps} key - * @param {BasemapLayerOptions} [options] - * @returns {BasemapLayer} + * + * @param {Basemaps} key + * @param {BasemapLayerOptions} [options] + * @returns {BasemapLayer} */ function basemapLayer(key: Basemaps, options?: BasemapLayerOptions): BasemapLayer; - + /** * Options for L.esri.TiledMapLayer - * + * * @interface TiledMapLayerOptions * @extends {L.TileLayerOptions} */ @@ -121,7 +114,7 @@ declare namespace L { /** * If correctZoomLevels is enabled this controls the amount of tolerance for the difference at each scale level for remapping tile levels. * Default 0.1 - * + * * @type {number} * @memberof TiledMapLayerOptions */ @@ -130,7 +123,7 @@ declare namespace L { /** * Access tiles from ArcGIS Online and ArcGIS Server to visualize and identify features. Copyright text from the service is added to map attribution automatically. - * + * * @class TiledMapLayer * @extends {L.TileLayer} */ @@ -138,39 +131,39 @@ declare namespace L { constructor(options: TiledMapLayerOptions); /** * Authenticates this service with a new token and runs any pending requests that required a token. - * - * @param {string} token - * @returns {this} + * + * @param {string} token + * @returns {this} * @memberof TiledMapLayer */ authenticate(token: string): this; /** * Requests metadata about this Feature Layer. Callback will be called with error and metadata. - * - * @param {CallbackHandler} callback - * @param {*} context - * @returns {this} + * + * @param {CallbackHandler} callback + * @param {*} context + * @returns {this} * @memberof TiledMapLayer */ metadata(callback: CallbackHandler, context?: any): this; /** * Returns a new L.esri.services.IdentifyFeatures object that can be used to identify features on this layer. Your callback function will be passed a GeoJSON FeatureCollection with the results or an error. - * - * @returns {*} + * + * @returns {*} * @memberof TiledMapLayer */ identify(): IdentifyFeatures; /** * Returns a new L.esri.services.Find object that can be used to find features. Your callback function will be passed a GeoJSON FeatureCollection with the results or an error. - * - * @returns {*} + * + * @returns {*} * @memberof TiledMapLayer */ find(): Find; /** * Returns a new L.esri.Query object that can be used to query this service. - * - * @returns {*} + * + * @returns {*} * @memberof TiledMapLayer */ query(): Query; @@ -178,15 +171,15 @@ declare namespace L { /** * Access tiles from ArcGIS Online and ArcGIS Server to visualize and identify features. Copyright text from the service is added to map attribution automatically. - * - * @param {TiledMapLayerOptions} options - * @returns {TiledMapLayer} + * + * @param {TiledMapLayerOptions} options + * @returns {TiledMapLayer} */ function tiledMapLayer(options: TiledMapLayerOptions): TiledMapLayer; /** * Options for RasterLayer - * + * * @interface RasterLayerOptions * @extends {L.ImageOverlayOptions} */ @@ -194,7 +187,7 @@ declare namespace L { /** * Server response content type. * Default: 'image' - * + * * @type {string} * @memberof RasterLayerOptions */ @@ -202,21 +195,21 @@ declare namespace L { /** * Position of the layer relative to other overlays. * Default: 'front' - * + * * @type {string} * @memberof RasterLayerOptions */ position?: string; /** * Closest zoom level the layer will be displayed on the map. - * + * * @type {number} * @memberof RasterLayerOptions */ maxZoom?: number; /** * Furthest zoom level the layer will be displayed on the map. - * + * * @type {number} * @memberof RasterLayerOptions */ @@ -225,77 +218,77 @@ declare namespace L { /** * A generic class representing an image layer. This class can be extended to provide support for making export requests from ArcGIS REST services. - * + * * @class RasterLayer * @extends {L.ImageOverlay} */ abstract class RasterLayer extends L.ImageOverlay { /** * Redraws this layer below all other overlay layers. - * - * @returns {this} + * + * @returns {this} * @memberof RasterLayer */ bringToBack(): this; /** * Redraws this layer above all other overlay layers. - * - * @returns {this} + * + * @returns {this} * @memberof RasterLayer */ bringToFront(): this; /** * Returns the current opacity of the layer. - * - * @returns {number} + * + * @returns {number} * @memberof RasterLayer */ getOpacity(): number; /** * Sets the opacity of the layer. - * - * @param {number} opacity - * @returns {this} + * + * @param {number} opacity + * @returns {this} * @memberof RasterLayer */ setOpacity(opacity: number): this; /** * Returns the current time range being used for rendering. Array [from, to]; - * - * @returns {Date[]} + * + * @returns {Date[]} * @memberof RasterLayer */ getTimeRange(): Date[]; /** * Redraws the layer with he passed time range. - * - * @param {Date} from - * @param {Date} to - * @returns {this} + * + * @param {Date} from + * @param {Date} to + * @returns {this} * @memberof RasterLayer */ setTimeRange(from: Date, to: Date): this; /** * Used to make a fresh request to the service and draw the response. - * - * @returns {this} + * + * @returns {this} * @memberof RasterLayer */ redraw(): this; /** * Authenticates this service with a new token and runs any pending requests that required a token. - * - * @param {string} token - * @returns {this} + * + * @param {string} token + * @returns {this} * @memberof TiledMapLayer */ authenticate(token: string): this; /** * Requests metadata about this Feature Layer. Callback will be called with error and metadata. - * - * @param {CallbackHandler} callback - * @param {*} context - * @returns {this} + * + * @param {CallbackHandler} callback + * @param {*} context + * @returns {this} * @memberof TiledMapLayer */ metadata(callback: CallbackHandler, context?: any): this; @@ -303,7 +296,7 @@ declare namespace L { /** * Options for L.esri.DynamicMapLayer - * + * * @interface DynamicMapLayerOptions * @extends {RasterLayerOptions} */ @@ -311,43 +304,43 @@ declare namespace L { /** * Output format of the image. * Default: 'png24' - * + * * @type {string} * @memberof DynamicMapLayerOptions */ format?: string; /** * Allow the server to produce transparent images. - * + * * @type {boolean} * @memberof DynamicMapLayerOptions */ transparent?: boolean; /** * Attribution from service metadata copyright text is automatically displayed in Leaflet's default control. This property can be used for customization. - * + * * @type {string} * @memberof DynamicMapLayerOptions */ attribution?: string; /* * An array of Layer IDs like [3,4,5] to show from the service. - * + * * @type {any[]} * @memberof DynamicMapLayerOptions */ layers?: any[]; /** - * SQL filters to define what features will be included in the image rendered by the service. An object is used with keys that map each query to its respective layer. + * SQL filters to define what features will be included in the image rendered by the service. An object is used with keys that map each query to its respective layer. * { 3: "STATE_NAME='Kansas'", 9: "POP2007>25000" } - * + * * @type {*} * @memberof DynamicMapLayerOptions */ layerDefs?: any; /** * JSON object literal used to manipulate the layer symbology defined in the service itself. Requires a 10.1 (or above) map service which supports dynamicLayers requests. - * + * * @type {*} * @memberof DynamicMapLayerOptions */ @@ -364,7 +357,7 @@ declare namespace L { /** * Render and visualize Map Services from ArcGIS Online and ArcGIS Server. L.esri.DynamicMapLayer also supports custom popups and identification of features. * Map Services are used when its preferable to ask the server to draw layers at a particular location and scale and pass back the image which was generated on the fly. They also expose capabilities for querying and identifying individual features. - * + * * @class DynamicMapLayer * @extends {RasterLayer} */ @@ -372,114 +365,114 @@ declare namespace L { constructor(options: DynamicMapLayerOptions); /** * Uses the provided function to create a popup that will identify features whenever the map is clicked. Your function will be passed a GeoJSON FeatureCollection of the features at the clicked location and should return the appropriate HTML. If you do not want to open the popup when there are no results, return false. - * - * @param {any} fn - * @param {L.PopupOptions} popupOptions - * @returns {this} + * + * @param {any} fn + * @param {L.PopupOptions} popupOptions + * @returns {this} * @memberof DynamicMapLayer */ bindPopup(fn: FeatureCallbackHandler, popupOptions?: L.PopupOptions): this; bindPopup(content: ((layer: Layer) => Content) | Content | Popup, options?: PopupOptions): this; /** * Removes a popup previously bound with bindPopup. - * - * @returns {this} + * + * @returns {this} * @memberof DynamicMapLayer */ unbindPopup(): this; /** * Returns the current opacity of the layer. - * - * @returns {number} + * + * @returns {number} * @memberof DynamicMapLayer */ getOpacity(): number; /** * Sets the opacity of the layer. - * - * @param {number} opacity - * @returns {this} + * + * @param {number} opacity + * @returns {this} * @memberof DynamicMapLayer */ setOpacity(opacity: number): this; /** * Returns the array of visible layers specified in the layer constructor. - * - * @returns {Array} + * + * @returns {Array} * @memberof DynamicMapLayer */ getLayers(): any[]; /** * Redraws the layer to show the passed array of layer ids. - * - * @param {Array} layers - * @returns {this} + * + * @param {Array} layers + * @returns {this} * @memberof DynamicMapLayer */ setLayers(layers: any[]): this; /** * Returns the current layer definition(s) being used for rendering. - * - * @returns {*} + * + * @returns {*} * @memberof DynamicMapLayer */ getLayerDefs(): any; /** * Redraws the layer with the new layer definitions. Corresponds to the layerDefs option on the export API. - * - * @param {*} layerDefs - * @returns {this} + * + * @param {*} layerDefs + * @returns {this} * @memberof DynamicMapLayer */ setLayerDefs(layerDefs: any): this; /** * Returns the current time options being used for rendering. - * - * @returns {*} + * + * @returns {*} * @memberof DynamicMapLayer */ getTimeOptions(): any; /** * Sets the current time options being used to render the layer. Corresponds to the layerTimeOptions option on the export API. - * - * @param {*} timeOptions - * @returns {this} + * + * @param {*} timeOptions + * @returns {this} * @memberof DynamicMapLayer */ setTimeOptions(timeOptions: any): this; /** * Returns a JSON object representing the modified layer symbology being requested from the map service. - * - * @returns {*} + * + * @returns {*} * @memberof DynamicMapLayer */ getDynamicLayers(): any; /** * Used to insert raw dynamicLayers JSON in situations where you'd like to modify layer symbology defined in the service itself. - * - * @param {*} layers - * @returns {this} + * + * @param {*} layers + * @returns {this} * @memberof DynamicMapLayer */ setDynamicLayers(layers: any): this; /** * Returns a new L.esri.services.IdentifyFeatures object that can be used to identify features on this layer. Your callback function will be passed a GeoJSON FeatureCollection with the results or an error. - * - * @returns {*} + * + * @returns {*} * @memberof DynamicMapLayer */ identify(): IdentifyFeatures; /** * Returns a new L.esri.services.Find object that can be used to find features. Your callback function will be passed a GeoJSON FeatureCollection with the results or an error. - * - * @returns {*} + * + * @returns {*} * @memberof DynamicMapLayer */ find(): Find; /** * Returns a new L.esri.Query object that can be used to query this service. - * - * @returns {*} + * + * @returns {*} * @memberof DynamicMapLayer */ query(): Query; @@ -488,138 +481,138 @@ declare namespace L { /** * Render and visualize Map Services from ArcGIS Online and ArcGIS Server. L.esri.DynamicMapLayer also supports custom popups and identification of features. * Map Services are used when its preferable to ask the server to draw layers at a particular location and scale and pass back the image which was generated on the fly. They also expose capabilities for querying and identifying individual features. - * - * @param {DynamicMapLayerOptions} options - * @returns {DynamicMapLayer} + * + * @param {DynamicMapLayerOptions} options + * @returns {DynamicMapLayer} */ function dynamicMapLayer(options: DynamicMapLayerOptions): DynamicMapLayer; /** * Options for FeatureLayer - * + * * @interface FeatureLayerOptions * @extends {LayerOptionsBase} */ interface FeatureLayerOptions extends LayerOptionsBase { /** * Function that will be used for creating layers for GeoJSON points. If the option is not specified, simple markers will be created). For point layers, custom panes should be passed through pointToLayer (example here). - * + * * @memberof FeatureLayerOptions */ pointToLayer?: (feature: any, latLng: LatLngExpression) => void; /** * Function that will be used to get style options for vector layers created for GeoJSON features. - * + * * @memberof FeatureLayerOptions */ style?: (feature: any, layer: L.Layer) => void; /** * Provides an opportunity to introspect individual GeoJSON features in the layer. - * + * * @memberof FeatureLayerOptions */ onEachFeature?: (feature: any, layer: L.Layer) => void; /** * An optional expression to filter features server side. String values should be denoted using single quotes ie: where: "FIELDNAME = 'field value'"; More information about valid SQL syntax can be found here. - * + * * @type {string} * @memberof FeatureLayerOptions */ where?: string; /** * Closest zoom level the layer will be displayed on the map. example: maxZoom:19 - * + * * @type {number} * @memberof FeatureLayerOptions */ maxZoom?: number; /** * Furthest zoom level the layer will be displayed on the map. example: minZoom:3 - * + * * @type {number} * @memberof FeatureLayerOptions */ minZoom?: number; /** * Will remove layers from the internal cache when they are removed from the map. - * + * * @type {boolean} * @memberof FeatureLayerOptions */ cacheLayers?: boolean; /** * An array of fieldnames to pull from the service. Includes all fields by default. You should always specify the name of the unique id for the service. Usually either 'FID' or 'OBJECTID'. - * + * * @type {Array} * @memberof FeatureLayerOptions */ fields?: string[]; /** * When paired with to defines the time range of features to display. Requires the Feature Layer to be time enabled. - * + * * @type {Date} * @memberof FeatureLayerOptions */ from?: Date; /** * When paired with from defines the time range of features to display. Requires the Feature Layer to be time enabled. - * + * * @type {Date} * @memberof FeatureLayerOptions */ to?: Date; /** * The name of the field to lookup the time of the feature. Can be an object like {start:'startTime', end:'endTime'} or a string like 'created'. - * + * * @type {*} * @memberof FeatureLayerOptions */ timeField?: any; /** * Determines where features are filtered by time. By default features will be filtered by the server. If set to 'client' all features are requested and filtered by the app before display. - * + * * @type {('server' | 'client')} * @memberof FeatureLayerOptions */ timeFilterMode?: 'server' | 'client'; /** * How much to simplify polygons and polylines. A higher value gives better performance, a lower value gives a more accurate representation. - * + * * @type {number} * @memberof FeatureLayerOptions */ simplifyFactor?: number; /** * How many digits of precision to request from the server. Wikipedia has a great reference of digit precision to meters. - * + * * @type {number} * @memberof FeatureLayerOptions */ precision?: number; /** * The vector renderer to use to draw the service. Usually L.svg() is preferable but setting to L.canvas() can have performance benefits for large polygon layers. - * + * * @type {(L.SVG | L.Canvas)} * @memberof FeatureLayerOptions */ renderer?: L.SVG | L.Canvas; /** * Set this to false if your own service supports GeoJSON as an output format but you'd like to ask for Geoservices JSON instead. - * + * * @type {boolean} * @memberof FeatureLayerOptions */ isModern?: boolean; /** * When utilizing esri-leaflet-renderers '2.0.2' or above, this option makes it possible to override the symbology defined by the service itself. - * + * * @type {boolean} * @memberof FeatureLayerOptions */ ignoreRenderer?: boolean; } - type StyleCallback = (feature: any) => any; + type StyleCallback = (feature: any) => any; // TODO: VirtualGrid extends support @@ -630,7 +623,7 @@ declare namespace L { * Feature Layer URLs always end in a number (ex: /FeatureServer/{LAYER_ID} or /MapServer/{LAYER_ID}). * You can create a new empty feature service with a single layer on the ArcGIS for Developers website or you can use ArcGIS Online to create a Feature Service from a CSV or Shapefile * L.esri.FeatureLayer divides the current map extent into a grid of individual cells and uses them to fire queries to fetch nearby features. This technique is comparable to MODE_ONDEMAND in the ArcGIS API for JavaScript. - * + * * @class FeatureLayer * @extends {L.Layer} */ @@ -640,99 +633,99 @@ declare namespace L { * Sets the given path options to each layer that has a setStyle method. Can also be a Function that will receive a feature argument and should return Path Options * featureLayer.setStyle({ color: 'white' }) * featureLayer.setStyle(function(feature){ return { weight: feature.properties.pixelWidth };}) - * - * @param {(L.PathOptions | StyleCallback)} style - * @returns {this} + * + * @param {(L.PathOptions | StyleCallback)} style + * @returns {this} * @memberof FeatureLayer */ setStyle(style: L.PathOptions | StyleCallback): this; /** * Changes the style on a specfic feature. - * - * @param {(string | number)} id - * @param {(L.PathOptions | StyleCallback)} style - * @returns {this} + * + * @param {(string | number)} id + * @param {(L.PathOptions | StyleCallback)} style + * @returns {this} * @memberof FeatureLayer */ setFeatureStyle(id: string | number, style: L.PathOptions | StyleCallback): this; /** * Given the ID of a feature, reset that feature to the original style. - * - * @returns {this} + * + * @returns {this} * @memberof FeatureLayer */ resetStyle(): this; /** * Calls the passed function against every feature. The function will be passed the layer that represents the feature. * featureLayer.eachFeature(function(layer){ console.log(layer.feature.properties.NAME); }); - * - * @param {(feature: any) => void} fn - * @param {*} [context] - * @returns {this} + * + * @param {(feature: any) => void} fn + * @param {*} [context] + * @returns {this} * @memberof FeatureLayer */ - eachFeature(fn: (feature: any) => void, context?: any): this; + eachFeature(fn: (feature: any) => void, context?: any): this; /** * Calls the passed function against every feature that is currently being displayed. - * - * @param {(feature: any) => void} fn - * @param {*} [context] - * @returns {this} + * + * @param {(feature: any) => void} fn + * @param {*} [context] + * @returns {this} * @memberof FeatureLayer */ - eachActiveFeature(fn: (feature: any) => void, context?: any): this; + eachActiveFeature(fn: (feature: any) => void, context?: any): this; /** * Given the id of a Feature return the layer on the map that represents it. This will usually be a Leaflet vector layer like Polyline or Polygon, or a Leaflet Marker. - * - * @param {(string | number)} id - * @returns {L.Layer} + * + * @param {(string | number)} id + * @returns {L.Layer} * @memberof FeatureLayer */ getFeature(id: string | number): L.Layer; /** * Returns the current where setting - * - * @returns {string} + * + * @returns {string} * @memberof FeatureLayer */ getWhere(): string; /** * Sets the new where option and refreshes the layer to reflect the new where filter. Accepts an optional callback and function context. - * - * @param {string} where - * @param {FeatureCallbackHandler} [callback] - * @param {*} [context] - * @returns {this} + * + * @param {string} where + * @param {FeatureCallbackHandler} [callback] + * @param {*} [context] + * @returns {this} * @memberof FeatureLayer */ - setWhere(where: string, callback?: FeatureCallbackHandler, context?: any): this; + setWhere(where: string, callback?: FeatureCallbackHandler, context?: any): this; /** * Returns the current time range as an array like [from, to] - * - * @returns {Date[]} + * + * @returns {Date[]} * @memberof FeatureLayer */ getTimeRange(): Date[]; /** * Sets the current time filter applied to features. An optional callback is run upon completion if timeFilterMode is set to 'server'. Also accepts function context as the last argument. - * - * @param {Date} from - * @param {Date} to - * @param {FeatureCallbackHandler} [callback] - * @param {*} [context] - * @returns {this} + * + * @param {Date} from + * @param {Date} to + * @param {FeatureCallbackHandler} [callback] + * @param {*} [context] + * @returns {this} * @memberof FeatureLayer */ - setTimeRange(from: Date, to: Date, callback?: FeatureCallbackHandler, context?: any): this; + setTimeRange(from: Date, to: Date, callback?: FeatureCallbackHandler, context?: any): this; /** * Adds a new feature to the feature layer. this also adds the feature to the map if creation is successful. * Requires authentication as a user who has permission to edit the service in ArcGIS Online or the user who created the service. * Requires the Create capability be enabled on the service. You can check if creation exists by checking the metadata of your service under capabilities. - * - * @param {GeoJSONFeature} feature - * @param {ResponseCallbackHandler} [callback] - * @param {*} context - * @returns {this} + * + * @param {GeoJSONFeature} feature + * @param {ResponseCallbackHandler} [callback] + * @param {*} context + * @returns {this} * @memberof FeatureLayer */ // TODO: GeoJSONFeature @@ -741,11 +734,11 @@ declare namespace L { * Update the provided feature on the Feature Layer. This also updates the feature on the map. * Requires authentication as a user who has permission to edit the service in ArcGIS Online or the user who created the service. * Requires the Update capability be enabled on the service. You can check if this operation exists by checking the metadata of your service under capabilities. - * - * @param {GeoJSONFeature} feature - * @param {ResponseCallbackHandler} [callback] - * @param {*} context - * @returns {this} + * + * @param {GeoJSONFeature} feature + * @param {ResponseCallbackHandler} [callback] + * @param {*} context + * @returns {this} * @memberof FeatureLayer */ // TODO: GeoJSONFeature @@ -754,11 +747,11 @@ declare namespace L { * Remove the feature with the provided id from the feature layer. This will also remove the feature from the map if it exists. * Requires authentication as a user who has permission to edit the service in ArcGIS Online or the user who created the service. * Requires the Delete capability be enabled on the service. You can check if this operation exists by checking the metadata of your service under capabilities. - * - * @param {(string | number)} id - * @param {ResponseCallbackHandler} [callback] - * @param {*} context - * @returns {this} + * + * @param {(string | number)} id + * @param {ResponseCallbackHandler} [callback] + * @param {*} context + * @returns {this} * @memberof FeatureLayer */ deleteFeature(id: string | number, callback?: ResponseCallbackHandler, context?: any): this; @@ -766,64 +759,64 @@ declare namespace L { * Removes an array of features with the provided ids from the feature layer. This will also remove the features from the map if they exist. * Requires authentication as a user who has permission to edit the service in ArcGIS Online or the user who created the service. * Requires the Delete capability be enabled on the service. You can check if this operation exists by checking the metadata of your service under capabilities. - * - * @param {(Array)} ids - * @param {ResponseCallbackHandler} [callback] - * @param {*} context - * @returns {this} + * + * @param {(Array)} ids + * @param {ResponseCallbackHandler} [callback] + * @param {*} context + * @returns {this} * @memberof FeatureLayer */ deleteFeatures(ids: string[] | number[], callback?: ResponseCallbackHandler, context?: any): this; /** * Redraws a feature with the provided id from the feature layer. - * - * @param {(string | number)} id - * @returns {this} + * + * @param {(string | number)} id + * @returns {this} * @memberof FeatureLayer */ redraw(id: string | number): this; /** * Redraws all features from the feature layer that exist on the map. - * - * @returns {this} + * + * @returns {this} * @memberof FeatureLayer */ refresh(): this; /** * Authenticates this service with a new token and runs any pending requests that required a token. - * - * @param {string} token - * @returns {this} + * + * @param {string} token + * @returns {this} * @memberof TiledMapLayer */ authenticate(token: string): this; /** * Requests metadata about this Feature Layer. Callback will be called with error and metadata. - * - * @param {CallbackHandler} callback - * @param {*} context - * @returns {this} + * + * @param {CallbackHandler} callback + * @param {*} context + * @returns {this} * @memberof TiledMapLayer */ metadata(callback: CallbackHandler, context?: any): this; /** * Returns a new L.esri.services.IdentifyFeatures object that can be used to identify features on this layer. Your callback function will be passed a GeoJSON FeatureCollection with the results or an error. - * - * @returns {*} + * + * @returns {*} * @memberof TiledMapLayer */ identify(): IdentifyFeatures; /** * Returns a new L.esri.services.Find object that can be used to find features. Your callback function will be passed a GeoJSON FeatureCollection with the results or an error. - * - * @returns {*} + * + * @returns {*} * @memberof TiledMapLayer */ find(): Find; /** * Returns a new L.esri.Query object that can be used to query this service. - * - * @returns {*} + * + * @returns {*} * @memberof TiledMapLayer */ query(): Query; @@ -836,9 +829,9 @@ declare namespace L { * Feature Layer URLs always end in a number (ex: /FeatureServer/{LAYER_ID} or /MapServer/{LAYER_ID}). * You can create a new empty feature service with a single layer on the ArcGIS for Developers website or you can use ArcGIS Online to create a Feature Service from a CSV or Shapefile * L.esri.FeatureLayer divides the current map extent into a grid of individual cells and uses them to fire queries to fetch nearby features. This technique is comparable to MODE_ONDEMAND in the ArcGIS API for JavaScript. - * - * @param {FeatureLayerOptions} options - * @returns {FeatureLayer} + * + * @param {FeatureLayerOptions} options + * @returns {FeatureLayer} */ function featureLayer(options: FeatureLayerOptions): FeatureLayer; } @@ -851,34 +844,34 @@ declare namespace L { /** * Options for L.esri.Service - * + * * @interface ServiceOptions */ interface ServiceOptions { /** * URL of the ArcGIS service you would like to consume. - * + * * @type {string} * @memberof ServiceOptions */ url?: string; /** * URL of an ArcGIS API for JavaScript proxy or ArcGIS Resource Proxy to use for proxying POST requests. - * + * * @type {string} * @memberof ServiceOptions */ proxy?: string; /** * If this service should use CORS when making GET requests. - * + * * @type {boolean} * @memberof ServiceOptions */ useCors?: boolean; /** * Operation timeout - * + * * @type {number} * @memberof ServiceOptions */ @@ -887,47 +880,47 @@ declare namespace L { /** * A generic class representing a hosted resource on ArcGIS Online or ArcGIS Server. This class can be extended to provide support for making requests and serves as a standard for authentication and proxying. - * + * * @class Service * @extends {L.Evented} */ abstract class Service extends L.Evented { /** * Makes a GET request to the service. The service's URL will be combined with the path option and parameters will be serialized to a query string. Accepts an optional function context for the callback. - * - * @param {string} url - * @param {*} [params] - * @param {CallbackHandler} [callback] - * @param {*} [context] - * @returns {this} + * + * @param {string} url + * @param {*} [params] + * @param {CallbackHandler} [callback] + * @param {*} [context] + * @returns {this} * @memberof Service */ get(url: string, params?: any, callback?: CallbackHandler, context?: any): this; /** * Makes a POST request to the service. The service's URL will be combined with the path option and parameters will be serialized. Accepts an optional function context for the callback. - * - * @param {string} url - * @param {*} [params] - * @param {CallbackHandler} [callback] - * @param {*} [context] - * @returns {this} + * + * @param {string} url + * @param {*} [params] + * @param {CallbackHandler} [callback] + * @param {*} [context] + * @returns {this} * @memberof Service */ post(url: string, params?: any, callback?: CallbackHandler, context?: any): this; /** * Authenticates this service with a new token and runs any pending requests that required a token. - * - * @param {string} token - * @returns {this} + * + * @param {string} token + * @returns {this} * @memberof TiledMapLayer */ authenticate(token: string): this; /** * Requests metadata about this Feature Layer. Callback will be called with error and metadata. - * - * @param {CallbackHandler} callback - * @param {*} context - * @returns {this} + * + * @param {CallbackHandler} callback + * @param {*} context + * @returns {this} * @memberof TiledMapLayer */ metadata(callback: CallbackHandler, context?: any): this; @@ -935,7 +928,7 @@ declare namespace L { /** * Options for MapService - * + * * @interface MapServiceOptions * @extends {ServiceOptions} */ @@ -943,7 +936,7 @@ declare namespace L { /** * L.esri.MapService is an abstraction for interacting with Map Services running on ArcGIS Online and ArcGIS Server that allows you to make requests to the API, as well as query and identify published features. - * + * * @class MapService * @extends {Service} */ @@ -951,22 +944,22 @@ declare namespace L { constructor(options: MapServiceOptions); /** * Returns a new L.esri.services.IdentifyFeatures object that can be used to identify features on this layer. Your callback function will be passed a GeoJSON FeatureCollection with the results or an error. - * - * @returns {*} + * + * @returns {*} * @memberof MapService */ identify(): IdentifyFeatures; /** * Returns a new L.esri.services.Find object that can be used to find features. Your callback function will be passed a GeoJSON FeatureCollection with the results or an error. - * - * @returns {*} + * + * @returns {*} * @memberof MapService */ find(): Find; /** * Returns a new L.esri.Query object that can be used to query this service. - * - * @returns {*} + * + * @returns {*} * @memberof MapService */ query(): Query; @@ -974,15 +967,15 @@ declare namespace L { /** * L.esri.MapService is an abstraction for interacting with Map Services running on ArcGIS Online and ArcGIS Server that allows you to make requests to the API, as well as query and identify published features. - * - * @param {MapServiceOptions} options - * @returns {MapService} + * + * @param {MapServiceOptions} options + * @returns {MapService} */ function mapService(options: MapServiceOptions): MapService; /** * Options for Task - * + * * @interface TaskOptions * @extends {ServiceOptions} */ @@ -990,7 +983,7 @@ declare namespace L { /** * L.esri.Task is a generic class that provides the foundation for calling operations on ArcGIS Online and ArcGIS Server Services like query, find and identify. - * + * * @class Task * @extends {L.Class} */ @@ -998,20 +991,20 @@ declare namespace L { constructor(options: TaskOptions | Service); /** * Makes a request to the associated service. The service's URL will be combined with the path option and parameters will be serialized. Accepts an optional function context for the callback. - * - * @param {string} url - * @param {*} params - * @param {*} callback - * @param {*} context - * @returns {this} + * + * @param {string} url + * @param {*} params + * @param {*} callback + * @param {*} context + * @returns {this} * @memberof Task */ request(url: string, params?: any, callback?: any, context?: any): this; /** * Adds a token to this request if the service requires authentication. Will be added automatically if used with a service. - * - * @param {string} token - * @returns {this} + * + * @param {string} token + * @returns {this} * @memberof Task */ token(token: string): this; @@ -1028,15 +1021,15 @@ declare namespace L { /** * L.esri.Task is a generic class that provides the foundation for calling operations on ArcGIS Online and ArcGIS Server Services like query, find and identify. - * - * @param {(TaskOptions | Service)} options - * @returns {Task} + * + * @param {(TaskOptions | Service)} options + * @returns {Task} */ function task(options: TaskOptions | Service): Task; /** * Options for ImageService - * + * * @interface ImageServiceOptions * @extends {ServiceOptions} */ @@ -1044,7 +1037,7 @@ declare namespace L { /** * L.esri.ImageService is an abstraction for interacting with Image Services running on ArcGIS Online and ArcGIS Server that allows you to make requests to the API, as well as query and identify features on the service. - * + * * @class ImageService * @extends {Service} */ @@ -1052,8 +1045,8 @@ declare namespace L { constructor(options: ImageServiceOptions); /** * Returns a new L.esri.Query object that can be used to query this service. - * - * @returns {this} + * + * @returns {this} * @memberof ImageService */ query(): Query; @@ -1061,15 +1054,15 @@ declare namespace L { /** * L.esri.ImageService is an abstraction for interacting with Image Services running on ArcGIS Online and ArcGIS Server that allows you to make requests to the API, as well as query and identify features on the service. - * - * @param {ImageServiceOptions} options - * @returns {ImageService} + * + * @param {ImageServiceOptions} options + * @returns {ImageService} */ function imageService(options: ImageServiceOptions): ImageService; /** * Options for FeatureLayerService - * + * * @interface FeatureLayerServiceOptions * @extends {ServiceOptions} */ @@ -1077,7 +1070,7 @@ declare namespace L { /** * L.esri.FeatureLayerService is an abstraction for interacting with Feature Layers running on ArcGIS Online and ArcGIS Server that allows you to make requests to the API, as well as query, add, update and remove features from the service. - * + * * @class FeatureLayerService * @extends {Service} */ @@ -1085,8 +1078,8 @@ declare namespace L { constructor(options: FeatureLayerServiceOptions); /** * Returns a new L.esri.Query object that can be used to query this layer. - * - * @returns {this} + * + * @returns {this} * @memberof FeatureLayerService */ query(): Query; @@ -1094,11 +1087,11 @@ declare namespace L { * Adds a new feature to the feature layer. this also adds the feature to the map if creation is successful. * Requires authentication as a user who has permission to edit the service in ArcGIS Online or the user who created the service. * Requires the Create capability be enabled on the service. You can check if creation exists by checking the metadata of your service under capabilities. - * - * @param {GeoJSONFeature} feature - * @param {ResponseCallbackHandler} [callback] - * @param {*} context - * @returns {this} + * + * @param {GeoJSONFeature} feature + * @param {ResponseCallbackHandler} [callback] + * @param {*} context + * @returns {this} * @memberof FeatureLayerService */ // TODO: GeoJSONFeature @@ -1107,11 +1100,11 @@ declare namespace L { * Update the provided feature on the Feature Layer. This also updates the feature on the map. * Requires authentication as a user who has permission to edit the service in ArcGIS Online or the user who created the service. * Requires the Update capability be enabled on the service. You can check if this operation exists by checking the metadata of your service under capabilities. - * - * @param {GeoJSONFeature} feature - * @param {ResponseCallbackHandler} [callback] - * @param {*} context - * @returns {this} + * + * @param {GeoJSONFeature} feature + * @param {ResponseCallbackHandler} [callback] + * @param {*} context + * @returns {this} * @memberof FeatureLayerService */ // TODO: GeoJSONFeature @@ -1120,11 +1113,11 @@ declare namespace L { * Remove the feature with the provided id from the feature layer. This will also remove the feature from the map if it exists. * Requires authentication as a user who has permission to edit the service in ArcGIS Online or the user who created the service. * Requires the Delete capability be enabled on the service. You can check if this operation exists by checking the metadata of your service under capabilities. - * - * @param {(string | number)} id - * @param {ResponseCallbackHandler} [callback] - * @param {*} context - * @returns {this} + * + * @param {(string | number)} id + * @param {ResponseCallbackHandler} [callback] + * @param {*} context + * @returns {this} * @memberof FeatureLayerService */ deleteFeature(id: string | number, callback?: ResponseCallbackHandler, context?: any): this; @@ -1132,11 +1125,11 @@ declare namespace L { * Removes an array of features with the provided ids from the feature layer. This will also remove the features from the map if they exist. * Requires authentication as a user who has permission to edit the service in ArcGIS Online or the user who created the service. * Requires the Delete capability be enabled on the service. You can check if this operation exists by checking the metadata of your service under capabilities. - * - * @param {(Array)} ids - * @param {ResponseCallbackHandler} [callback] - * @param {*} context - * @returns {this} + * + * @param {(Array)} ids + * @param {ResponseCallbackHandler} [callback] + * @param {*} context + * @returns {this} * @memberof FeatureLayerService */ deleteFeatures(ids: string[] | number[], callback?: ResponseCallbackHandler, context?: any): this; @@ -1144,15 +1137,15 @@ declare namespace L { /** * L.esri.FeatureLayerService is an abstraction for interacting with Feature Layers running on ArcGIS Online and ArcGIS Server that allows you to make requests to the API, as well as query, add, update and remove features from the service. - * - * @param {FeatureLayerServiceOptions} options - * @returns {FeatureLayerService} + * + * @param {FeatureLayerServiceOptions} options + * @returns {FeatureLayerService} */ function featureLayerService(options: FeatureLayerServiceOptions): FeatureLayerService; /** * Options for Query - * + * * @interface QueryOptions * @extends {TaskOptions} */ @@ -1161,7 +1154,7 @@ declare namespace L { /** * L.esri.Query is an abstraction for the query API included in Feature Layers and Image Services. It provides a chainable API for building request parameters and executing queries. * Note Depending on the type of service you are querying (Feature Layer, Map Service, Image Service) and the version of ArcGIS Server that hosts the service some of these options may not be available. - * + * * @class Query * @extends {Task} */ @@ -1169,190 +1162,190 @@ declare namespace L { constructor(options: QueryOptions); /** * Queries features from the service within (fully contained by) the passed geometry object. geometry can be an instance of L.Marker, L.Polygon, L.Polyline, L.LatLng, L.LatLngBounds and L.GeoJSON. It can also accept valid GeoJSON Point, Polyline, Polygon objects and GeoJSON Feature objects containing Point, Polyline, Polygon. - * - * @param {Geometry} geometry - * @returns {this} + * + * @param {Geometry} geometry + * @returns {this} * @memberof Query */ within(geometry: Geometry): this; /** * Queries features from the service that fully contain the passed geometry object. geometry can be an instance of L.Marker, L.Polygon, L.Polyline, L.LatLng, L.LatLngBounds and L.GeoJSON. It can also accept valid GeoJSON Point, Polyline, Polygon objects and GeoJSON Feature objects containing Point, Polyline, Polygon. - * - * @param {Geometry} geometry - * @returns {this} + * + * @param {Geometry} geometry + * @returns {this} * @memberof Query */ contains(geometry: Geometry): this; /** * Queries features from the service that intersect (touch anywhere) the passed geometry object. geometry can be an instance of L.Marker, L.Polygon, L.Polyline, L.LatLng, L.LatLngBounds and L.GeoJSON. It can also accept valid GeoJSON Point, Polyline, Polygon objects and GeoJSON Feature objects containing Point, Polyline, Polygon. - * - * @param {Geometry} geometry - * @returns {this} + * + * @param {Geometry} geometry + * @returns {this} * @memberof Query */ intersects(geometry: Geometry): this; /** * Queries features from the service that have a bounding box that intersects the bounding box of the passed geometry object. geometry can be an instance of L.Marker, L.Polygon, L.Polyline, L.LatLng, L.LatLngBounds and L.GeoJSON. It can also accept valid GeoJSON Point, Polyline, Polygon objects and GeoJSON Feature objects containing Point, Polyline, Polygon. - * - * @param {Geometry} geometry - * @returns {this} + * + * @param {Geometry} geometry + * @returns {this} * @memberof Query */ bboxIntersects(geometry: Geometry): this; /** * Queries features from the service that overlap (touch but are not fully contained by) the passed geometry object. geometry can be an instance of L.Marker, L.Polygon, L.Polyline, L.LatLng, L.LatLngBounds and L.GeoJSON. It can also accept valid GeoJSON Point, Polyline, Polygon objects and GeoJSON Feature objects containing Point, Polyline, Polygon. - * - * @param {Geometry} geometry - * @returns {this} + * + * @param {Geometry} geometry + * @returns {this} * @memberof Query */ overlap(geometry: Geometry): this; /** - * Queries features a given distance in meters around a LatLng. + * Queries features a given distance in meters around a LatLng. * Only available for Feature Layers hosted on ArcGIS Online or ArcGIS Server 10.3 that include the capability supportQueryWithDistance. - * - * @param {L.LatLng} latlng - * @param {number} distance - * @returns {this} + * + * @param {L.LatLng} latlng + * @param {number} distance + * @returns {this} * @memberof Query */ nearby(latlng: L.LatLng, distance: number): this; /** * Adds a where clause to the query. String values should be denoted using single quotes ie: query.where("FIELDNAME = 'field value'"); More info about valid SQL can be found here. - * - * @param {string} where - * @returns {this} + * + * @param {string} where + * @returns {this} * @memberof Query */ where(where: string): this; /** - * Define the offset of the results, when combined with limit can be used for paging. + * Define the offset of the results, when combined with limit can be used for paging. * Only available for Feature Layers hosted on ArcGIS Online or ArcGIS Server 10.3. - * - * @param {number} offset - * @returns {this} + * + * @param {number} offset + * @returns {this} * @memberof Query */ offset(offset: number): this; /** - * Limit the number of results returned by this query, when combined with offset can be used for paging. + * Limit the number of results returned by this query, when combined with offset can be used for paging. * Only available for Feature Layers hosted on ArcGIS Online or ArcGIS Server 10.3. - * - * @param {number} limit - * @returns {this} + * + * @param {number} limit + * @returns {this} * @memberof Query */ limit(limit: number): this; /** * Queries features within a given time range. Only available for Layers/Services with timeInfo in their metadata. - * - * @param {Date} from - * @param {Date} to - * @returns {this} + * + * @param {Date} from + * @param {Date} to + * @returns {this} * @memberof Query */ between(from: Date, to: Date): this; /** * An array of associated fields to request for each feature. - * - * @param {(string | Array)} fields - * @returns {this} + * + * @param {(string | Array)} fields + * @returns {this} * @memberof Query */ fields(fields: string | string[]): this; /** * Return geometry with results. Default is true. - * - * @param {boolean} returnGeometry - * @returns {this} + * + * @param {boolean} returnGeometry + * @returns {this} * @memberof Query */ returnGeometry(returnGeometry: boolean): this; /** * Simplify the geometries of the output features for the current map view. the factor parameter controls the amount of simplification between 0 (no simplification) and 1 (the most basic shape possible). - * - * @param {L.Map} map - * @param {number} factor - * @returns {this} + * + * @param {L.Map} map + * @param {number} factor + * @returns {this} * @memberof Query */ simplify(map: L.Map, factor: number): this; /** * Sort output features using values from an individual field. "ASC" (ascending) is the default sort order, but "DESC" can be passed as an alternative. This method can be called more than once to apply advanced sorting. - * - * @param {string} fieldName - * @param {string} order - * @returns {this} + * + * @param {string} fieldName + * @param {string} order + * @returns {this} * @memberof Query */ orderBy(fieldName: string, order: string): this; /** * Return only specific feature IDs if they match other query parameters. - * - * @param {Array} ids - * @returns {this} + * + * @param {Array} ids + * @returns {this} * @memberof Query */ featureIds(ids: any[]): this; /** * Return only this many decimal points of precision in the output geometries. - * - * @param {number} precision - * @returns {this} + * + * @param {number} precision + * @returns {this} * @memberof Query */ precision(precision: number): this; /** - * Used to select which layer inside a Map Service to perform the query on. + * Used to select which layer inside a Map Service to perform the query on. * Only available for Map Services. - * - * @param {(number | string)} layer - * @returns {this} + * + * @param {(number | string)} layer + * @returns {this} * @memberof Query */ layer(layer: number | string): this; /** - * Override the default pixelSize when querying an Image Service. + * Override the default pixelSize when querying an Image Service. * Only available for Image Services. - * - * @param {L.Point} point - * @returns {this} + * + * @param {L.Point} point + * @returns {this} * @memberof Query */ pixelSize(point: L.Point): this; /** * Exectues the query request with the current parameters, features will be passed to callback as a GeoJSON FeatureCollection. Accepts an optional function context. - * - * @param {FeatureCallbackHandler} callback - * @param {*} [context] - * @returns {this} + * + * @param {FeatureCallbackHandler} callback + * @param {*} [context] + * @returns {this} * @memberof Query */ run(callback: FeatureCallbackHandler, context?: any): this; /** * Exectues the query request with the current parameters, passing only the number of features matching the query to callback as an Integer. Accepts an optional function context. - * - * @param {FeatureCallbackHandler} callback - * @param {*} [context] - * @returns {this} + * + * @param {FeatureCallbackHandler} callback + * @param {*} [context] + * @returns {this} * @memberof Query */ count(callback: FeatureCallbackHandler, context?: any): this; /** * Exectues the query request with the current parameters, passing only an array of the feature ids matching the query to callbackcallback. Accepts an optional function context. - * - * @param {FeatureCallbackHandler} callback - * @param {*} [context] - * @returns {this} + * + * @param {FeatureCallbackHandler} callback + * @param {*} [context] + * @returns {this} * @memberof Query */ ids(callback: FeatureCallbackHandler, context?: any): this; /** * Executes the query request with the current parameters, passing only the LatLngBounds of all features matching the query in the callback. Accepts an optional function context. Only available for Feature Layers hosted on ArcGIS Online or ArcGIS Server 10.3.1. - * - * @param {FeatureCallbackHandler} callback - * @param {*} [context] - * @returns {this} + * + * @param {FeatureCallbackHandler} callback + * @param {*} [context] + * @returns {this} * @memberof Query */ bounds(callback: FeatureCallbackHandler, context?: any): this; @@ -1369,15 +1362,15 @@ declare namespace L { /** * L.esri.Query is an abstraction for the query API included in Feature Layers and Image Services. It provides a chainable API for building request parameters and executing queries. * Note Depending on the type of service you are querying (Feature Layer, Map Service, Image Service) and the version of ArcGIS Server that hosts the service some of these options may not be available. - * - * @param {QueryOptions} options - * @returns {Query} + * + * @param {QueryOptions} options + * @returns {Query} */ function query(options: QueryOptions): Query; /** * Options for IdentifyFeatures - * + * * @interface IdentifyFeaturesOptions * @extends {ServiceOptions} */ @@ -1385,7 +1378,7 @@ declare namespace L { /** * L.esri.IdentifyFeatures is an abstraction for the Identify API found in Map Services. It provides a chainable API for building request parameters and executing the request. - * + * * @class IdentifyFeatures * @extends {Task} */ @@ -1393,9 +1386,9 @@ declare namespace L { constructor(options: IdentifyFeaturesOptions | ImageService); /** * The map to identify features on. - * - * @param {L.Map} map - * @returns {this} + * + * @param {L.Map} map + * @returns {this} * @memberof IdentifyFeatures */ on(map: L.Map): this; @@ -1409,70 +1402,70 @@ declare namespace L { at(geometry: Geometry): this; /** * Add a layer definition to the query. - * - * @param {number} id - * @param {string} where - * @returns {this} + * + * @param {number} id + * @param {string} where + * @returns {this} * @memberof IdentifyFeatures */ layerDef(id: number, where: string): this; /** * Identifies features within a given time range. - * - * @param {Date} from - * @param {Date} to - * @returns {this} + * + * @param {Date} from + * @param {Date} to + * @returns {this} * @memberof IdentifyFeatures */ between(from: Date, to: Date): this; /** * By default, only the topmost feature will be identified, but it is possible to specify both an alternative strategy and array of individual layers. See the REST API documentation for more information about valid combinations. * ex: .layers('all:0'). - * - * @param {string} layers - * @returns {this} + * + * @param {string} layers + * @returns {this} * @memberof IdentifyFeatures */ layers(layers: string | string[]): this; /** * Return only this many decimal points of precision in the output geometries. - * - * @param {number} precision - * @returns {this} + * + * @param {number} precision + * @returns {this} * @memberof IdentifyFeatures */ precision(precision: number): this; /** * Buffer the identify area by a given number of screen pixels. - * - * @param {number} precision - * @returns {this} + * + * @param {number} precision + * @returns {this} * @memberof IdentifyFeatures */ tolerance(precision: number): this; /** * Return geometry with results. Default is true. - * - * @param {boolean} returnGeometry - * @returns {this} + * + * @param {boolean} returnGeometry + * @returns {this} * @memberof IdentifyFeatures */ returnGeometry(returnGeometry: boolean): this; /** * Simplify the geometries of the output features for the current map view. the factor parameter controls the amount of simplification between 0 (no simplification) and 1 (the most basic shape possible). - * - * @param {L.Map} map - * @param {number} factor - * @returns {this} + * + * @param {L.Map} map + * @param {number} factor + * @returns {this} * @memberof IdentifyFeatures */ simplify(map: L.Map, factor: number): this; /** * Executes the identify request with the current parameters, identified features will be passed to callback as a GeoJSON FeatureCollection. Accepts an optional function context - * - * @param {FeatureCallbackHandler} callback - * @param {*} context - * @returns {this} + * + * @param {FeatureCallbackHandler} callback + * @param {*} context + * @returns {this} * @memberof IdentifyFeatures */ run(callback: FeatureCallbackHandler, context?: any): this; @@ -1480,15 +1473,15 @@ declare namespace L { /** * L.esri.IdentifyFeatures is an abstraction for the Identify API found in Map Services. It provides a chainable API for building request parameters and executing the request. - * - * @param {(IdentifyFeaturesOptions | ImageService)} options - * @returns {IdentifyFeatures} + * + * @param {(IdentifyFeaturesOptions | ImageService)} options + * @returns {IdentifyFeatures} */ function identifyFeatures(options: IdentifyFeaturesOptions | ImageService): IdentifyFeatures; /** * Options for Find Task - * + * * @interface FindOptions * @extends {ServiceOptions} */ @@ -1496,7 +1489,7 @@ declare namespace L { /** * L.esri.Find is an abstraction for the find API included in Map Services. It provides a chainable API for building request parameters and executing find tasks. - * + * * @class Find * @extends {Task} */ @@ -1504,126 +1497,126 @@ declare namespace L { constructor(options: FindOptions | MapService); /** * Text that is searched across the layers and fields the user specifies. - * - * @param {string} text - * @returns {this} + * + * @param {string} text + * @returns {this} * @memberof Find */ text(text: string): this; /** * When true find task will search for a value that contains the searchText. When false it will do an exact match on the searchText string. Default is true. - * - * @param {boolean} contains - * @returns {this} + * + * @param {boolean} contains + * @returns {this} * @memberof Find */ contains(contains: boolean): this; /** * An array or comma-separated list of field names to search. If not specified, all fields are searched. - * - * @param {(string | Array)} fields - * @returns {this} + * + * @param {(string | Array)} fields + * @returns {this} * @memberof Find */ fields(fields: string | string[]): this; /** * The well known ID (ex. 4326) for the results. - * - * @param {number} sr - * @returns {this} + * + * @param {number} sr + * @returns {this} * @memberof Find */ spatialReference(sr: number): this; /** * Add a layer definition to the find task. - * - * @param {number} id - * @param {string} where - * @returns {this} + * + * @param {number} id + * @param {string} where + * @returns {this} * @memberof Find */ - layerDef(id: number, where: string): this; + layerDef(id: number, where: string): this; /** * Layers to perform find task on. Accepts an array of layer IDs or comma-separated list. - * - * @param {(string | Array)} layers - * @returns {this} + * + * @param {(string | Array)} layers + * @returns {this} * @memberof Find */ layers(layers: string | string[]): this; /** * Return geometry with results. Default is true. - * - * @param {boolean} returnGeometry - * @returns {this} + * + * @param {boolean} returnGeometry + * @returns {this} * @memberof Find */ returnGeometry(returnGeometry: boolean): this; /** * Specifies the maximum allowable offset to be used for generalizing geometries returned by the find task. - * - * @param {number} maxAllowableOffset - * @returns {this} + * + * @param {number} maxAllowableOffset + * @returns {this} * @memberof Find */ maxAllowableOffset(maxAllowableOffset: number): this; /** * Specifies the number of decimal places in returned geometries. - * - * @param {number} precision - * @returns {this} + * + * @param {number} precision + * @returns {this} * @memberof Find */ precision(precision: number): this; /** * Include Z values in the results. Default value is true. This parameter only applies if returnGeometry=true. - * - * @param {boolean} returnZ - * @returns {this} + * + * @param {boolean} returnZ + * @returns {this} * @memberof Find */ returnZ(returnZ: boolean): this; /** * Includes M values if the features have them. Default value is false. This parameter only applies if returnGeometry=true. - * - * @param {boolean} returnM - * @returns {this} + * + * @param {boolean} returnM + * @returns {this} * @memberof Find */ returnM(returnM: boolean): this; /** * Property used for adding new layers or modifying the data source of existing ones in the current map service. - * - * @param {*} dynamicLayers - * @returns {this} + * + * @param {*} dynamicLayers + * @returns {this} * @memberof Find */ dynamicLayers(dynamicLayers: any): this; /** * Simplify the geometries of the output features for the current map view. the factor parameter controls the amount of simplification between 0 (no simplification) and 1 (simplify to the most basic shape possible). - * - * @param {L.Map} map - * @param {number} factor - * @returns {this} + * + * @param {L.Map} map + * @param {number} factor + * @returns {this} * @memberof Find */ - simplify(map: L.Map, factor: number): this; + simplify(map: L.Map, factor: number): this; /** * Exectues the find request with the current parameters, features will be passed to callback as a GeoJSON FeatureCollection. Accepts an optional function context. - * - * @param {FeatureCallbackHandler} callback - * @param {*} [context] - * @returns {this} + * + * @param {FeatureCallbackHandler} callback + * @param {*} [context] + * @returns {this} * @memberof Find */ - run(callback: FeatureCallbackHandler, context?: any): this; + run(callback: FeatureCallbackHandler, context?: any): this; } /** * L.esri.Find is an abstraction for the find API included in Map Services. It provides a chainable API for building request parameters and executing find tasks. - * - * @param {(FindOptions | MapService)} options - * @returns {Find} + * + * @param {(FindOptions | MapService)} options + * @returns {Find} */ function find(options: FindOptions | MapService): Find; } diff --git a/types/esri-leaflet/tslint.json b/types/esri-leaflet/tslint.json index 3db14f85ea..06265672fc 100644 --- a/types/esri-leaflet/tslint.json +++ b/types/esri-leaflet/tslint.json @@ -1 +1,12 @@ -{ "extends": "dtslint/dt.json" } +{ + "extends": "dtslint/dt.json", + "rules": { + // All are TODOs + "prefer-method-signature": false, + "max-line-length": false, + "no-empty-interface": false, + "no-mergeable-namespace": false, + "no-single-declare-module": false, + "no-unnecessary-qualifier": false + } +} diff --git a/types/ethjs-signer/ethjs-signer-tests.ts b/types/ethjs-signer/ethjs-signer-tests.ts index 7f6939fc3b..8f7499f571 100644 --- a/types/ethjs-signer/ethjs-signer-tests.ts +++ b/types/ethjs-signer/ethjs-signer-tests.ts @@ -10,7 +10,7 @@ const transaction = { nonce }; -const signedTransactionString = sign(transaction, privateKey) as string; -const signedTransaction = sign(transaction, privateKey, true) as any[]; +const signedTransactionString: string = sign(transaction, privateKey); +const signedTransaction: any[] = sign(transaction, privateKey, true); const publicKey = recover(signedTransactionString, -1, signedTransaction[7], signedTransaction[8]); diff --git a/types/eureka-js-client/eureka-js-client-tests.ts b/types/eureka-js-client/eureka-js-client-tests.ts index 1eb2a510d5..109dab0278 100644 --- a/types/eureka-js-client/eureka-js-client-tests.ts +++ b/types/eureka-js-client/eureka-js-client-tests.ts @@ -1,7 +1,7 @@ import { Eureka } from 'eureka-js-client'; // example configuration -let client = new Eureka({ +const client = new Eureka({ // application instance information instance: { app: 'jqservice', diff --git a/types/execa/tslint.json b/types/execa/tslint.json index 3db14f85ea..5281feceb3 100644 --- a/types/execa/tslint.json +++ b/types/execa/tslint.json @@ -1 +1,8 @@ -{ "extends": "dtslint/dt.json" } +{ + "extends": "dtslint/dt.json", + "rules": { + // All are TODOs + "await-promise": false, + "no-boolean-literal-compare": false + } +} diff --git a/types/express-enforces-ssl/express-enforces-ssl-tests.ts b/types/express-enforces-ssl/express-enforces-ssl-tests.ts index 50dab42cdf..ccaac78ef6 100644 --- a/types/express-enforces-ssl/express-enforces-ssl-tests.ts +++ b/types/express-enforces-ssl/express-enforces-ssl-tests.ts @@ -1,6 +1,6 @@ import express = require('express'); import expressEnforcesSsl = require('express-enforces-ssl'); -let app: express.Express = express(); +const app: express.Express = express(); app.use(expressEnforcesSsl()); diff --git a/types/express-sanitized/express-sanitized-tests.ts b/types/express-sanitized/express-sanitized-tests.ts index 19c7039fee..1610ef6c91 100644 --- a/types/express-sanitized/express-sanitized-tests.ts +++ b/types/express-sanitized/express-sanitized-tests.ts @@ -1,6 +1,6 @@ import * as express from "express"; import * as expressSanitized from "express-sanitized"; -let RoutingServer: express.Express = express(); +const RoutingServer: express.Express = express(); RoutingServer.use(expressSanitized()); diff --git a/types/express-session/express-session-tests.ts b/types/express-session/express-session-tests.ts index 4ee9a76a6e..e348086a72 100644 --- a/types/express-session/express-session-tests.ts +++ b/types/express-session/express-session-tests.ts @@ -1,7 +1,7 @@ import express = require('express'); import session = require('express-session'); -let app = express(); +const app = express(); app.use(session({ secret: 'keyboard cat', @@ -25,7 +25,7 @@ interface MySession extends Express.Session { } app.use((req, res, next) => { - let sess = req.session as MySession; + const sess = req.session as MySession; if (sess.views) { sess.views++; res.setHeader('Content-Type', 'text/html'); diff --git a/types/express-session/index.d.ts b/types/express-session/index.d.ts index 60dedea20a..ac7ea271f9 100644 --- a/types/express-session/index.d.ts +++ b/types/express-session/index.d.ts @@ -2,7 +2,7 @@ // Project: https://www.npmjs.org/package/express-session // Definitions by: Hiroki Horiuchi // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// Definitions by: Jacob Bogers diff --git a/types/file-type/index.d.ts b/types/file-type/index.d.ts index 95217430eb..a3de4e99e8 100644 --- a/types/file-type/index.d.ts +++ b/types/file-type/index.d.ts @@ -1,7 +1,7 @@ // Type definitions for file-type 5.2 // Project: https://github.com/sindresorhus/file-type -// Definitions by: KIM Jaesuck a.k.a. gim tcaesvk -// BendingBender +// Definitions by: KIM Jaesuck a.k.a. gim tcaesvk +// BendingBender // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// diff --git a/types/fingerprintjs2/fingerprintjs2-tests.ts b/types/fingerprintjs2/fingerprintjs2-tests.ts index 88cc9f337a..172dc1b801 100644 --- a/types/fingerprintjs2/fingerprintjs2-tests.ts +++ b/types/fingerprintjs2/fingerprintjs2-tests.ts @@ -3,121 +3,121 @@ function defaultCallback(result: string, components: [{ key: string, value: stri } function test_default_settings() { - let fingerprint = new Fingerprint2().get( defaultCallback); + const fingerprint = new Fingerprint2().get( defaultCallback); } function test_get_exclude_swfContainerId() { - let fingerprint = new Fingerprint2({ swfContainerId: 'swfContainerId' }).get(defaultCallback); + const fingerprint = new Fingerprint2({ swfContainerId: 'swfContainerId' }).get(defaultCallback); } function test_get_exclude_swfPath() { - let fingerprint = new Fingerprint2({swfPath: 'pathToSwf'}).get(defaultCallback); + const fingerprint = new Fingerprint2({swfPath: 'pathToSwf'}).get(defaultCallback); } function test_get_exclude_userDefinedFonts() { - let fingerprint = new Fingerprint2({ userDefinedFonts: ['font1', 'font2']}).get(defaultCallback); + const fingerprint = new Fingerprint2({ userDefinedFonts: ['font1', 'font2']}).get(defaultCallback); } function test_get_excludeUserAgent() { - let fingerprint = new Fingerprint2({ excludeUserAgent: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeUserAgent: true }).get(defaultCallback); } function test_get_excludeLanguage() { - let fingerprint = new Fingerprint2({ excludeLanguage: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeLanguage: true }).get(defaultCallback); } function test_get_excludeColorDepth() { - let fingerprint = new Fingerprint2({ excludeColorDepth: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeColorDepth: true }).get(defaultCallback); } function test_get_excludeScreenResolution() { - let fingerprint = new Fingerprint2({ excludeScreenResolution: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeScreenResolution: true }).get(defaultCallback); } function test_get_excludeTimezoneOffset() { - let fingerprint = new Fingerprint2({ excludeTimezoneOffset: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeTimezoneOffset: true }).get(defaultCallback); } function test_get_excludeSessionStorage() { - let fingerprint = new Fingerprint2({ excludeSessionStorage: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeSessionStorage: true }).get(defaultCallback); } function test_get_excludeIndexedDB() { - let fingerprint = new Fingerprint2({ excludeIndexedDB: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeIndexedDB: true }).get(defaultCallback); } function test_get_excludeAddBehavior() { - let fingerprint = new Fingerprint2({ excludeAddBehavior: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeAddBehavior: true }).get(defaultCallback); } function test_get_excludeOpenDatabase() { - let fingerprint = new Fingerprint2({ excludeOpenDatabase: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeOpenDatabase: true }).get(defaultCallback); } function test_get_excludeCpuClass() { - let fingerprint = new Fingerprint2({ excludeCpuClass: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeCpuClass: true }).get(defaultCallback); } function test_get_excludePlatform() { - let fingerprint = new Fingerprint2({ excludePlatform: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludePlatform: true }).get(defaultCallback); } function test_get_excludeDoNotTrack() { - let fingerprint = new Fingerprint2({ excludeDoNotTrack: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeDoNotTrack: true }).get(defaultCallback); } function test_get_excludeCanvas() { - let fingerprint = new Fingerprint2({ excludeCanvas: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeCanvas: true }).get(defaultCallback); } function test_get_excludeWebGL() { - let fingerprint = new Fingerprint2({ excludeWebGL: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeWebGL: true }).get(defaultCallback); } function test_get_excludeAdBlock() { - let fingerprint = new Fingerprint2({ excludeAdBlock: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeAdBlock: true }).get(defaultCallback); } function test_get_excludeHasLiedLanguages() { - let fingerprint = new Fingerprint2({ excludeHasLiedLanguages: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeHasLiedLanguages: true }).get(defaultCallback); } function test_get_excludeHasLiedResolution() { - let fingerprint = new Fingerprint2({ excludeHasLiedResolution: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeHasLiedResolution: true }).get(defaultCallback); } function test_get_excludeHasLiedOs() { - let fingerprint = new Fingerprint2({ excludeHasLiedOs: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeHasLiedOs: true }).get(defaultCallback); } function test_get_excludeHasLiedBrowser() { - let fingerprint = new Fingerprint2({ excludeHasLiedBrowser: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeHasLiedBrowser: true }).get(defaultCallback); } function test_get_excludeJsFonts() { - let fingerprint = new Fingerprint2({ excludeJsFonts: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeJsFonts: true }).get(defaultCallback); } function test_get_excludeFlashFonts() { - let fingerprint = new Fingerprint2({ excludeFlashFonts: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeFlashFonts: true }).get(defaultCallback); } function test_get_excludePlugins() { - let fingerprint = new Fingerprint2({ excludePlugins: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludePlugins: true }).get(defaultCallback); } function test_get_excludeIEPlugins() { - let fingerprint = new Fingerprint2({ excludeIEPlugins: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeIEPlugins: true }).get(defaultCallback); } function test_get_excludeTouchSupport() { - let fingerprint = new Fingerprint2({ excludeTouchSupport: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeTouchSupport: true }).get(defaultCallback); } function test_get_excludePixelRatio() { - let fingerprint = new Fingerprint2({ excludePixelRatio: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludePixelRatio: true }).get(defaultCallback); } function test_get_excludeHardwareConcurrency() { - let fingerprint = new Fingerprint2({ excludeHardwareConcurrency: true }).get(defaultCallback); + const fingerprint = new Fingerprint2({ excludeHardwareConcurrency: true }).get(defaultCallback); } diff --git a/types/firebase/firebase-simplelogin.d.ts b/types/firebase/firebase-simplelogin.d.ts index b64638bd34..c03702502d 100644 --- a/types/firebase/firebase-simplelogin.d.ts +++ b/types/firebase/firebase-simplelogin.d.ts @@ -1,6 +1,6 @@ // Type definitions for Firebase Simple Login // Project: https://www.firebase.com/docs/security/simple-login-overview.html -// Definitions by: Wilker Lucio +// Definitions by: Wilker Lucio // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/firebird/firebird-tests.ts b/types/firebird/firebird-tests.ts index 4a6bd59c05..96600a7f2d 100644 --- a/types/firebird/firebird-tests.ts +++ b/types/firebird/firebird-tests.ts @@ -32,13 +32,13 @@ if (con.inTransaction === true) { console.log('in transaction'); } -let blob: fb.FBBlob = con.newBlobSync(); +const blob: fb.FBBlob = con.newBlobSync(); -let tx: fb.Transaction = con.startNewTransactionSync(); +const tx: fb.Transaction = con.startNewTransactionSync(); con.startNewTransaction((err: Error | null, tx: fb.Transaction) => {}); /* DataType */ -let column: fb.DataType = {}; +const column: fb.DataType = {}; if (typeof (column) === "number") { column * 10; } else if (typeof (column) === "string") { @@ -46,7 +46,7 @@ if (typeof (column) === "number") { } else if (column instanceof Date) { column.toISOString(); } else { - let _: fb.FBBlob = column; + const _: fb.FBBlob = column; } /* FBResult */ @@ -87,7 +87,7 @@ if (tx.inTransaction === true) { } /* FBStatement */ -let asFBResult: fb.FBResult = stmt; +const asFBResult: fb.FBResult = stmt; stmt.execSync("John"); stmt.execSync(1, "Mary"); stmt.execInTransSync(tx, "John"); @@ -102,8 +102,8 @@ blob._openSync(); blob._closeSync(); -let buffer: Buffer = {}; -let readBytes: number = blob._readSync(buffer); +const buffer: Buffer = {}; +const readBytes: number = blob._readSync(buffer); blob._read(buffer, (err: Error | null, buffer: Buffer, len: number) => {}); blob._readAll(); @@ -119,4 +119,4 @@ blob._write(buffer, 10); blob._write(buffer, 10, (err: Error | null) => {}); /* Stream */ -let strm: NodeJS.ReadWriteStream = new fb.Stream(blob); +const strm: NodeJS.ReadWriteStream = new fb.Stream(blob); diff --git a/types/firebird/index.d.ts b/types/firebird/index.d.ts index 6506762408..ad1093ef55 100644 --- a/types/firebird/index.d.ts +++ b/types/firebird/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for firebird 0.1 // Project: https://github.com/xdenser/node-firebird-libfbclient -// Definitions by: Yasushi Kato +// Definitions by: Yasushi Kato // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.1 diff --git a/types/firebird/tslint.json b/types/firebird/tslint.json index 3db14f85ea..b63c1c3846 100644 --- a/types/firebird/tslint.json +++ b/types/firebird/tslint.json @@ -1 +1,7 @@ -{ "extends": "dtslint/dt.json" } +{ + "extends": "dtslint/dt.json", + "rules": { + // TODO + "no-boolean-literal-compare": false + } +} diff --git a/types/flatbuffers/flatbuffers-tests.ts b/types/flatbuffers/flatbuffers-tests.ts index cdcabac25b..493773fdcf 100644 --- a/types/flatbuffers/flatbuffers-tests.ts +++ b/types/flatbuffers/flatbuffers-tests.ts @@ -16,7 +16,7 @@ enum Any { class Monster2 { bb: flatbuffers.ByteBuffer= null; - bb_pos: number = 0; + bb_pos = 0; __init(i: number, bb: flatbuffers.ByteBuffer): Monster2 { this.bb_pos = i; @@ -41,7 +41,7 @@ class Monster2 { class Test { bb: flatbuffers.ByteBuffer = null; - bb_pos: number = 0; + bb_pos = 0; __init(i: number, bb: flatbuffers.ByteBuffer): Test { this.bb_pos = i; @@ -91,7 +91,7 @@ class Test { class TestSimpleTableWithEnum { bb: flatbuffers.ByteBuffer= null; - bb_pos: number = 0; + bb_pos = 0; __init(i: number, bb: flatbuffers.ByteBuffer): TestSimpleTableWithEnum { this.bb_pos = i; @@ -136,7 +136,7 @@ class TestSimpleTableWithEnum { class Vec3 { bb: flatbuffers.ByteBuffer= null; - bb_pos: number = 0; + bb_pos = 0; __init(i: number, bb: flatbuffers.ByteBuffer): Vec3 { this.bb_pos = i; @@ -244,7 +244,7 @@ class Vec3 { class Stat { bb: flatbuffers.ByteBuffer= null; - bb_pos: number = 0; + bb_pos = 0; __init(i: number, bb: flatbuffers.ByteBuffer): Stat { this.bb_pos = i; @@ -307,7 +307,7 @@ class Stat { class Monster { bb: flatbuffers.ByteBuffer= null; - bb_pos: number = 0; + bb_pos = 0; __init(i: number, bb: flatbuffers.ByteBuffer): Monster { this.bb_pos = i; diff --git a/types/fluent-ffmpeg/index.d.ts b/types/fluent-ffmpeg/index.d.ts index 86004caec1..7a660d1767 100644 --- a/types/fluent-ffmpeg/index.d.ts +++ b/types/fluent-ffmpeg/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for node-fluent-ffmpeg 2.1 // Project: https://github.com/fluent-ffmpeg/node-fluent-ffmpeg -// Definitions by: KIM Jaesuck a.k.a. gim tcaesvk , DingWeizhe +// Definitions by: KIM Jaesuck a.k.a. gim tcaesvk , DingWeizhe // Definitions: https://github.com/DefinitelyType/DefinitelyTyped /// diff --git a/types/flux/test/Flux.ts b/types/flux/test/Flux.ts index 6666b830aa..0619a1c63e 100644 --- a/types/flux/test/Flux.ts +++ b/types/flux/test/Flux.ts @@ -17,9 +17,9 @@ interface Action { } function dispatcherCallback(payload: Action) { - let source: ActionSource = payload.source; - let type: ActionType = payload.type; - let data: {} = payload.data; + const source: ActionSource = payload.source; + const type: ActionType = payload.type; + const data: {} = payload.data; } let dispatcherIsDispatching: boolean; diff --git a/types/flux/test/FluxUtils.tsx b/types/flux/test/FluxUtils.tsx index 38e06e71e4..0619be57b6 100644 --- a/types/flux/test/FluxUtils.tsx +++ b/types/flux/test/FluxUtils.tsx @@ -42,8 +42,6 @@ class CounterContainer extends React.Component { return [Store]; } - static a: string = "asd"; - static calculateState(prevState: State, props: Props): State { return { counter: Store.getState() - (props.b ? 0 : 1) diff --git a/types/forwarded/forwarded-tests.ts b/types/forwarded/forwarded-tests.ts new file mode 100644 index 0000000000..a0ae446993 --- /dev/null +++ b/types/forwarded/forwarded-tests.ts @@ -0,0 +1,7 @@ +import forwarded = require('forwarded'); +import * as http from 'http'; + +http.createServer((req) => { + // $ExpectType string[] + forwarded(req); +}); diff --git a/types/forwarded/index.d.ts b/types/forwarded/index.d.ts new file mode 100644 index 0000000000..0214731de9 --- /dev/null +++ b/types/forwarded/index.d.ts @@ -0,0 +1,11 @@ +// Type definitions for forwarded 0.1 +// Project: https://github.com/jshttp/forwarded +// Definitions by: BendingBender +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// +import { IncomingMessage } from 'http'; + +export = forwarded; + +declare function forwarded(req: IncomingMessage): string[]; diff --git a/types/forwarded/tsconfig.json b/types/forwarded/tsconfig.json new file mode 100644 index 0000000000..9df0387d33 --- /dev/null +++ b/types/forwarded/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "forwarded-tests.ts" + ] +} diff --git a/types/forwarded/tslint.json b/types/forwarded/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/forwarded/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/fpsmeter/index.d.ts b/types/fpsmeter/index.d.ts index 314a50861d..25bc6296d2 100644 --- a/types/fpsmeter/index.d.ts +++ b/types/fpsmeter/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for FPSmeter v0.3.0 // Project: http://darsa.in/fpsmeter/ -// Definitions by: Aaron Lampros +// Definitions by: Aaron Lampros // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped interface FPSMeterOptions { diff --git a/types/framebus/framebus-tests.ts b/types/framebus/framebus-tests.ts index acd8f1ff2f..e37186d168 100644 --- a/types/framebus/framebus-tests.ts +++ b/types/framebus/framebus-tests.ts @@ -1,14 +1,14 @@ import * as framebus from "framebus"; -let popup = window.open('https://example.com'); +const popup = window.open('https://example.com'); framebus.include(popup); framebus.emit('hello popup and friends!'); framebus.target('https://example.com').on('my cool event', () => {}); -let callback = (data: any) => { +function callback(data: any) { console.log('Got back %s as a reply!', data); -}; +} framebus.publish('Marco!', callback, 'http://listener.example.com'); diff --git a/types/fresh/fresh-tests.ts b/types/fresh/fresh-tests.ts new file mode 100644 index 0000000000..bc62065b07 --- /dev/null +++ b/types/fresh/fresh-tests.ts @@ -0,0 +1,28 @@ +/// +import fresh = require('fresh'); +import * as http from 'http'; + +let reqHeaders = { 'if-none-match': '"foo"' }; +let resHeaders = { etag: '"bar"' }; +// $ExpectType boolean +fresh(reqHeaders, resHeaders); + +const server = http.createServer((req, res) => { + if (isFresh(req, res)) { + res.statusCode = 304; + res.end(); + return; + } + + res.statusCode = 200; + res.end('hello, world!'); +}); + +function isFresh(req: http.IncomingMessage, res: http.ServerResponse) { + return fresh(req.headers, { + etag: res.getHeader('ETag'), + 'last-modified': res.getHeader('Last-Modified') + }); +} + +server.listen(3000); diff --git a/types/fresh/index.d.ts b/types/fresh/index.d.ts new file mode 100644 index 0000000000..e50e715388 --- /dev/null +++ b/types/fresh/index.d.ts @@ -0,0 +1,14 @@ +// Type definitions for fresh 0.5 +// Project: https://github.com/jshttp/fresh#readme +// Definitions by: BendingBender +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export = fresh; + +declare function fresh(reqHeaders: fresh.Headers, resHeaders: fresh.Headers): boolean; + +declare namespace fresh { + interface Headers { + [header: string]: string | string[] | number | undefined; + } +} diff --git a/types/fresh/tsconfig.json b/types/fresh/tsconfig.json new file mode 100644 index 0000000000..94d14b21a5 --- /dev/null +++ b/types/fresh/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "fresh-tests.ts" + ] +} diff --git a/types/fresh/tslint.json b/types/fresh/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/fresh/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/fs-extra-promise-es6/fs-extra-promise-es6-tests.ts b/types/fs-extra-promise-es6/fs-extra-promise-es6-tests.ts index b17cb07e32..337dd1ca0f 100644 --- a/types/fs-extra-promise-es6/fs-extra-promise-es6-tests.ts +++ b/types/fs-extra-promise-es6/fs-extra-promise-es6-tests.ts @@ -6,41 +6,41 @@ let str: string; let strArr: string[]; let bool: boolean; let num: number; -let src: string; -let dest: string; -let file: string; -let filename: string; -let dir: string; -let path: string; -let data: any; -let object: any; +declare const src: string; +declare const dest: string; +declare const file: string; +declare const filename: string; +declare const dir: string; +declare const path: string; +declare const data: any; +declare const object: any; let buffer: NodeBuffer; -let modeNum: number; -let modeStr: string; -let encoding: string; -let type: string; -let flags: string; -let srcpath: string; -let dstpath: string; -let oldPath: string; -let newPath: string; -let cache: string; -let offset: number; -let length: number; -let position: number; -let cacheBool: boolean; -let cacheStr: string; -let fd: number; -let len: number; -let uid: number; -let gid: number; -let atime: number; -let mtime: number; -let statsCallback: (err: Error, stats: fs.Stats) => void; -let errorCallback: (err: Error) => void; -let openOpts: fs.OpenOptions; +declare const modeNum: number; +declare const modeStr: string; +declare const encoding: string; +declare const type: string; +declare const flags: string; +declare const srcpath: string; +declare const dstpath: string; +declare const oldPath: string; +declare const newPath: string; +declare const cache: string; +declare const offset: number; +declare const length: number; +declare const position: number; +declare const cacheBool: boolean; +declare const cacheStr: string; +declare const fd: number; +declare const len: number; +declare const uid: number; +declare const gid: number; +declare const atime: number; +declare const mtime: number; +declare const statsCallback: (err: Error, stats: fs.Stats) => void; +declare const errorCallback: (err: Error) => void; +declare const openOpts: fs.OpenOptions; let watcher: fs.FSWatcher; -let readStreeam: stream.Readable; +let readStream: stream.Readable; let writeStream: stream.Writable; let isDirectory: boolean; @@ -198,8 +198,8 @@ fs.exists(path, (exists: boolean) => { }); bool = fs.existsSync(path); -readStreeam = fs.createReadStream(path); -readStreeam = fs.createReadStream(path, { +readStream = fs.createReadStream(path); +readStream = fs.createReadStream(path, { flags: str, encoding: str, fd: num, @@ -211,8 +211,7 @@ writeStream = fs.createWriteStream(path, { encoding: str }); -let isDirectoryCallback = (err: Error, isDirectory: boolean) => { -}; +function isDirectoryCallback(err: Error, isDirectory: boolean) {} fs.isDirectory(path, isDirectoryCallback); fs.isDirectory(path); isDirectory = fs.isDirectorySync(path); diff --git a/types/fs-extra-promise/fs-extra-promise-tests.ts b/types/fs-extra-promise/fs-extra-promise-tests.ts index 30794946f3..719bb65e6f 100644 --- a/types/fs-extra-promise/fs-extra-promise-tests.ts +++ b/types/fs-extra-promise/fs-extra-promise-tests.ts @@ -6,41 +6,41 @@ let str: string; let strArr: string[]; let bool: boolean; let num: number; -let src: string; -let dest: string; -let file: string; -let filename: string; -let dir: string; -let path: string; -let data: any; -let object: object; -let buf: Buffer; +declare const src: string; +declare const dest: string; +declare const file: string; +declare const filename: string; +declare const dir: string; +declare const path: string; +declare const data: any; +declare const object: object; +declare const buf: Buffer; let strOrBuf: string | Buffer; let buffer: NodeBuffer; -let modeNum: number; -let modeStr: string; -let encoding: string; -let type: string; -let flags: string; -let srcpath: string; -let dstpath: string; -let oldPath: string; -let newPath: string; -let cache: { [path: string]: string; }; -let offset: number; -let length: number; -let position: number; -let fd: number; -let len: number; -let uid: number; -let gid: number; -let atime: number; -let mtime: number; -let watchListener: (curr: fs.Stats, prev: fs.Stats) => void; -let statsCallback: (err: Error, stats: fs.Stats) => void; -let errorCallback: (err: Error) => void; -let openOpts: fs.ReadOptions; -let writeOpts: fs.WriteOptions; +declare const modeNum: number; +declare const modeStr: string; +declare const encoding: string; +declare const type: string; +declare const flags: string; +declare const srcpath: string; +declare const dstpath: string; +declare const oldPath: string; +declare const newPath: string; +declare const cache: { [path: string]: string; }; +declare const offset: number; +declare const length: number; +declare const position: number; +declare const fd: number; +declare const len: number; +declare const uid: number; +declare const gid: number; +declare const atime: number; +declare const mtime: number; +declare const watchListener: (curr: fs.Stats, prev: fs.Stats) => void; +declare const statsCallback: (err: Error, stats: fs.Stats) => void; +declare const errorCallback: (err: Error) => void; +declare const openOpts: fs.ReadOptions; +declare const writeOpts: fs.WriteOptions; let watcher: fs.FSWatcher; let readStream: stream.Readable; let writeStream: stream.Writable; @@ -209,8 +209,7 @@ writeStream = fs.createWriteStream(path, { defaultEncoding: str }); -let isDirectoryCallback = (err: Error, isDirectory: boolean) => { -}; +function isDirectoryCallback(err: Error, isDirectory: boolean) {} fs.isDirectory(path, isDirectoryCallback); fs.isDirectory(path); isDirectory = fs.isDirectorySync(path); diff --git a/types/fs-promise/fs-promise-tests.ts b/types/fs-promise/fs-promise-tests.ts index 51da06bb05..a210496a15 100644 --- a/types/fs-promise/fs-promise-tests.ts +++ b/types/fs-promise/fs-promise-tests.ts @@ -1,11 +1,11 @@ import * as fs from "fs-promise"; let src: string; -let dst: string; -let dir: string; -let path: string; -let data: any; -let writeOptions: fs.WriteOptions; +declare const dst: string; +declare const dir: string; +declare const path: string; +declare const data: any; +declare const writeOptions: fs.WriteOptions; const writeJsonOptions: fs.WriteJsonOptions = { spaces: 2, replacer(key, value) { @@ -13,7 +13,7 @@ const writeJsonOptions: fs.WriteJsonOptions = { return value; } }; -let readJsonOptions: fs.ReadJsonOptions; +declare const readJsonOptions: fs.ReadJsonOptions; async function test() { await fs.copy(src, dst); diff --git a/types/fullcalendar/index.d.ts b/types/fullcalendar/index.d.ts index bed6396214..04e68a4d99 100644 --- a/types/fullcalendar/index.d.ts +++ b/types/fullcalendar/index.d.ts @@ -51,7 +51,7 @@ export interface Options extends AgendaOptions, EventDraggingResizingOptions, Dr weekNumbers?: boolean; weekNumberCalculation?: any; // String/Function businessHours?: boolean | BusinessHours | BusinessHours[]; - height?: number | 'auto' | 'parent'; + height?: number | 'auto' | 'parent'; contentHeight?: number; aspectRatio?: number; handleWindowResize?: boolean; diff --git a/types/git-remote-origin-url/index.d.ts b/types/git-remote-origin-url/index.d.ts index 6d648dc322..2c8f227953 100644 --- a/types/git-remote-origin-url/index.d.ts +++ b/types/git-remote-origin-url/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for git-remote-origin-url 2.0 // Project: https://github.com/sindresorhus/git-remote-origin-url#readme -// Definitions by: Jay Anslow +// Definitions by: Jay Anslow // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare function gitRemoteOriginUrl(cwd?: string): Promise; diff --git a/types/glob-stream/index.d.ts b/types/glob-stream/index.d.ts index 05281f1647..36a5d9fb92 100644 --- a/types/glob-stream/index.d.ts +++ b/types/glob-stream/index.d.ts @@ -1,5 +1,5 @@ // Type definitions for glob-stream v3.1.12 -// Project: http://github.com/wearefractal/glob-stream +// Project: https://github.com/wearefractal/glob-stream // Definitions by: Bart van der Schoor // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/globby/globby-tests.ts b/types/globby/globby-tests.ts index 0722b5fb37..68acb7cde8 100644 --- a/types/globby/globby-tests.ts +++ b/types/globby/globby-tests.ts @@ -19,6 +19,6 @@ const tasks: Array<{ options: IOptions }> = globby.generateGlobTasks(['*.tmp', '!b.tmp'], {ignore: ['c.tmp']}); -console.log(globby.hasMagic('**') === true); -console.log(globby.hasMagic(['**', 'path1', 'path2']) === true); -console.log(globby.hasMagic(['path1', 'path2']) === false); +console.log(globby.hasMagic('**')); +console.log(globby.hasMagic(['**', 'path1', 'path2'])); +console.log(!globby.hasMagic(['path1', 'path2'])); diff --git a/types/google-adwords-scripts/google-adwords-scripts-tests.ts b/types/google-adwords-scripts/google-adwords-scripts-tests.ts new file mode 100644 index 0000000000..1d0a236fb8 --- /dev/null +++ b/types/google-adwords-scripts/google-adwords-scripts-tests.ts @@ -0,0 +1,15 @@ +// from https://developers.google.com/adwords/scripts/docs/reference/adwordsapp/adwordsapp_campaignselector + +function main() { + const campaignSelector = AdWordsApp + .campaigns() + .withCondition("Impressions > 100") + .forDateRange("LAST_MONTH") + .orderBy("Clicks DESC"); + + const campaignIterator = campaignSelector.get(); + while (campaignIterator.hasNext()) { + const campaign = campaignIterator.next(); + Logger.log(campaign.getName()); + } +} diff --git a/types/google-adwords-scripts/index.d.ts b/types/google-adwords-scripts/index.d.ts new file mode 100644 index 0000000000..3e64730056 --- /dev/null +++ b/types/google-adwords-scripts/index.d.ts @@ -0,0 +1,1564 @@ +// Type definitions for Google AdWords Scripts 1.0 +// Project: https://github.com/jafaircl/gaws +// Definitions by: Jonathan Faircloth +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +// Generics +interface AdWordsEntity { + getEntityType?(): string; +} + +interface AdWordsIterator { + hasNext(): boolean; + next(): E; + totalNumEntities(): number; +} + +interface AdWordsSelector { + get(): AdWordsIterator; + withCondition(condition: string): AdWordsSelector; + withIds(ids: number[][] | number[]): AdWordsSelector; + forDateRange(dateRange: string): AdWordsSelector; + forDateRange(dateFrom: AdWordsDate | string, dateTo: AdWordsDate | string): AdWordsSelector; + orderBy(orderBy: string): AdWordsSelector; + withLimit(limit: number): AdWordsSelector; +} + +interface AdWordsBuilder { + build(): AdWordsOperation; +} + +interface AdWordsOperation { + getErrors(): string[]; + getResult(): E; + isSuccessful(): boolean; +} + +interface AdWordsStats { + getAverageCpc(): number; + getAverageCpm(): number; + getAverageCpv(): number; + getAveragePageviews(): number; + getAveragePosition(): number; + getAverageTimeOnSite(): number; + getBounceRage(): number; + getClicks(): number; + getConversionRate(): number; + getConversions(): number; + getCost(): number; + getCtr(): number; + getImpressions(): number; + getViewRate(): number; + getViews(): number; +} + +interface AdWordsUrls { + getCustomParameters(): {}; + getTrackingTemplate(): string; +} + +interface AdWordsBidding { + getStrategy(): BiddingStrategy; + getStrategySource(): BiddingStrategySource; + getStrategyType(): string; +} + +interface AdWordsTargeting { + audiences(): AdWordsSelector; + exculdedAudiences(): AdWordsSelector; +} + +// Ad Customizers +interface AdCustomizerItem extends AdWordsEntity, + hasMobilePreferred, + hasStartAndEndDate, + hasSchedules { + clearTargetAdGroup(): void; + clearTargetCampaign(): void; + clearTargetKeyword(): void; + getAttributeValue(name: string): number | string; + getAttributeValues(): {}; + getId(): number; + getTargetAdGroupName(): string; + getTargetCampaignName(): string; + getTargetKeywordText(): string; + remove(): void; + setAttributeValue(name: string, value: string | number): void; + setAttributeValues(attributeValues: {}): void; + setTargetAdGroup(campaignName: string, adGroupName: string): void; + setTargetCampaign(campaignName: string): void; + setTargetKeyword(keyword?: string): void; +} + +interface AdCustomizerItemBuilder extends AdWordsBuilder, + hasMobilePreferredBuilder>, + hasSchedulesBuilder>, + hasStartAndEndDateBuilder> { + withAttributeValue(name: string, value: {}): AdCustomizerItemBuilder; + withAttributeValues(attributeValues: {}): AdCustomizerItemBuilder; + withTargetAdGroup(campaignName: string, adGroup: string): AdCustomizerItemBuilder; + withTargetCampaign(campaignName: string): AdCustomizerItemBuilder; + withTargetKeyword(keyword: string): AdCustomizerItemBuilder; +} + +interface AdCustomizerSource extends AdWordsEntity { + adCustomizerItemBuilder(): AdCustomizerItemBuilder; + getAttributes(): {}; + getName(): string; + items(): AdWordsSelector; +} + +interface AdCustomizerSourceBuilder extends AdWordsBuilder { + addAttribute(name: string, type: string): AdCustomizerSourceBuilder; + addAttributes(attributes: {}): AdCustomizerSourceBuilder; + withName(name: string): AdCustomizerSourceBuilder; +} + +// Ad extensions +interface AccountExtensions { + callouts(): AdWordsSelector; + message(): AdWordsSelector; + mobileApps(): AdWordsSelector; + reviews(): AdWordsSelector; + sitelinks(): AdWordsSelector; + snippets(): AdWordsSelector; +} + +interface AdGroupExtensions extends AccountExtensions { + phoneNumbers(): AdWordsSelector; +} + +interface CampaignExtensions extends AccountExtensions { + phoneNumbers(): AdWordsSelector; +} + +interface AdWordsAdExtensions extends AdGroupExtensions { + newCalloutBuilder(): CalloutBuilder; + newMessageBuilder(): MessageBuilder; + newMobileAppBuilder(): MobileAppBuilder; + newPhoneNumberBuilder(): PhoneNumberBuilder; + newReviewBuilder(): ReviewBuilder; + newSitelinkBuilder(): SitelinkBuilder; + newSnippetBuilder(): SnippetBuilder; +} + +interface Callout extends AdWordsEntity, + hasMobilePreferred, + hasStartAndEndDate, + hasSchedules, + hasStats, + isAdGroupChild { + getId(): number; + getText(): string; + setText(text: string): void; +} + +interface CalloutBuilder extends AdWordsBuilder, + hasMobilePreferredBuilder>, + hasSchedulesBuilder>, + hasStartAndEndDateBuilder> { + withText(text: string): CalloutBuilder; +} + +interface Message extends AdWordsEntity, + hasMobilePreferred, + hasStartAndEndDate, + hasSchedules, + hasStats, + isAdGroupChild { + getBusinessName(): string; + getCountryCode(): string; + getExtensionText(): string; + getId(): number; + getMessageText(): string; + getPhoneNumber(): string; + setBusinessName(businessName: string): void; + setCountryCode(countryCode: string): void; + setExtensionText(extensionText: string): void; + setMessageText(messageText: string): void; + setPhoneNumber(phoneNumber: string): void; +} + +interface MessageBuilder extends AdWordsBuilder, + hasMobilePreferredBuilder>, + hasStartAndEndDateBuilder>, + hasSchedulesBuilder> { + withBusinessName(businessName: string): MessageBuilder; + withCountryCode(countryCode: string): MessageBuilder; + withExtensionText(extensionText: string): MessageBuilder; + withMessageText(messageText: string): MessageBuilder; + withPhoneNumber(phoneNumber: string): MessageBuilder; +} + +interface MobileApp extends AdWordsEntity, + hasMobilePreferred, + hasStartAndEndDate, + hasSchedules, + hasStats, + isAdGroupChild { + clearLinkUrl(): void; + getAppId(): string; + getId(): number; + getLinkText(): string; + getStore(): AppStore; + setAppId(appId: string): void; + setLinkText(linkText: string): void; + setStore(): AppStore; + urls(): MobileAppUrls; +} + +interface MobileAppUrls extends AdWordsUrls, hasGetFinalUrl, hasSetFinalUrl, hasSetTrackingTemplate { + clearMobileFinalUrl(): void; + clearTrackingTemplate(): void; +} + +interface MobileAppBuilder extends AdWordsBuilder, + hasMobilePreferredBuilder>, + hasStartAndEndDateBuilder>, + hasSchedulesBuilder>, + hasTrackingTemplateBuilder>, + hasFinalUrlBuilder> { + withAppId(appId: string): MobileAppBuilder; + withLinkText(linkText: string): MobileAppBuilder; + withStore(store: AppStore): MobileAppBuilder; +} + +interface PhoneNumber extends AdWordsEntity, + hasMobilePreferred, + hasSchedules, + hasStartAndEndDate, + hasStats, + isAdGroupChild { + getCountry(): string; + getId(): number; + getPhoneNumber(): string; + setCountry(country: string): void; + setPhoneNumber(phoneNumber: string): void; +} + +interface PhoneNumberBuilder extends AdWordsBuilder, + hasMobilePreferredBuilder>, + hasStartAndEndDateBuilder>, + hasSchedulesBuilder> { + withCountry(country: string): PhoneNumberBuilder; + withPhoneNumber(phoneNumber: string): PhoneNumberBuilder; +} + +interface Review extends AdWordsEntity, + hasMobilePreferred, + hasSchedules, + hasStartAndEndDate, + hasStats, + isAdGroupChild { + getId(): number; + getSourceName(): string; + getSourceUrl(): string; + getText(): string; + isExactlyQuoted(): boolean; + setExactlyQuoted(isExactlyQuoted: boolean): void; + setSourceName(sourceName: string): void; + setSourceUrl(sourceUrl: string): void; + setText(text: string): void; +} + +interface ReviewBuilder extends AdWordsBuilder, + hasMobilePreferredBuilder>, + hasStartAndEndDateBuilder>, + hasSchedulesBuilder> { + withExactlyQuoted(exactlyQuoted: boolean): ReviewBuilder; + withSourceName(sourceName: string): ReviewBuilder; + withSourceUrl(sourceUrl: string): ReviewBuilder; + withText(text: string): ReviewBuilder; +} + +interface Sitelink extends AdWordsEntity, + hasMobilePreferred, + hasSchedules, + hasStartAndEndDate, + hasStats, + isAdGroupChild { + clearDescription1(): void; + clearDescription2(): void; + clearLinkUrl(): void; + getDescription1(): string; + getDescription2(): string; + getId(): number; + getLinkText(): string; + setDescription1(description1: string): void; + setDescription2(description2: string): void; + setLinkText(linkText: string): void; + urls(): SitelinkUrls; +} + +interface SitelinkUrls extends AdWordsUrls, hasSetTrackingTemplate, hasGetFinalUrl, hasSetFinalUrl { + clearMobileFinalUrl(): void; +} + +interface SitelinkBuilder extends AdWordsBuilder, + hasMobilePreferredBuilder>, + hasStartAndEndDateBuilder>, + hasSchedulesBuilder>, + hasTrackingTemplateBuilder>, + hasFinalUrlBuilder> { + withDescription1(description1: string): SitelinkBuilder; + withDescription2(description2: string): SitelinkBuilder; + withLinkText(linkText: string): SitelinkBuilder; +} + +interface Snippet extends AdWordsEntity, + hasMobilePreferred, + hasSchedules, + hasStartAndEndDate, + hasStats, + isAdGroupChild { + getHeader(): string; + getId(): number; + getValues(): string[]; + setHeader(header: string): void; + setValues(values: string[]): void; +} + +interface SnippetBuilder extends AdWordsBuilder, + hasMobilePreferredBuilder>, + hasStartAndEndDateBuilder>, + hasSchedulesBuilder> { + withHeader(header: string): SnippetBuilder; + withValues(values: string[]): SnippetBuilder; +} + +// Ad Group +interface AdGroup extends AdWordsEntity, canBeEnabled, hasExtensions, hasLabels, hasStats, isCampaignChild { + adParams(): AdWordsSelector; + ads(): AdWordsSelector; + bidding(): AdGroupBidding; + clearNegativeKeyword(keywordText: string): void; + devices(): AdGroupDevices; + display(): AdGroupDisplay; + extensions(): AdGroupExtensions; + getId(): number; + getName(): string; + isRemoved(): boolean; + keywords(): AdWordsSelector; + negativeKeywords(): AdWordsSelector; + newAd(): AdBuilderSpace; + newKeywordBuilder(): KeywordBuilder; + setName(name: string): void; + targeting(): AdGroupTargeting; + urls(): AdGroupUrls; +} + +interface AdGroupUrls extends AdWordsUrls, hasSetTrackingTemplate { + clearTrackingTemplate(): void; +} + +interface AdGroupBuilder extends AdWordsBuilder, + hasBiddingStrategyBuilder>, + hasTrackingTemplateBuilder> { + withCpa(cpa: number): AdGroupBuilder; + withCpc(cpc: number): AdGroupBuilder; + withCpm(cpm: number): AdGroupBuilder; + withName(name: string): AdGroupBuilder; + withStatus(status: string): AdGroupBuilder; +} + +interface AdGroupBidding extends KeywordBidding { + getCpa(): number; + setCpa(cpa: number): void; +} + +interface AdGroupDevices { + clearDesktopBidModifier(): void; + clearMobileBidModifier(): void; + clearTabletBidModifier(): void; + getDesktopBidModifier(): number; + getMobileBidModifier(): number; + getTabletBidModifier(): number; + setDesktopBidModifier(modifier: number): void; + setMobileBidModifier(modifier: number): void; + setTabletBidModifier(modifier: number): void; +} + +interface AdGroupTargeting extends AdWordsTargeting { + getTargetingSetting(): string; + newUserListBuilder(): SearchAdGroupAudienceBuilder; + setTargetingSetting(criterionTypeGroup: CriterionTypeGroup, targetingSetting: TargetingSetting): void; +} + +// Ad Param +interface AdParam extends AdWordsEntity { + getAdGroup(): AdGroup; + getInde(): number; + getInsertionText(): string; + getKeyword(): Keyword; + remove(): void; + setInsertionText(insertionText: string): void; +} + +// Ad +interface Ad extends AdWordsEntity, + canBeEnabled, + hasLabels, + hasStats, + isAdGroupChild { + asType(): AdViewSpace; + getApprovalStatus(): ApprovalStatus; + getDisapprovalReasons(): string[]; + getId(): number; + getPolicyApprovalStatus(): PolicyApprovalStatus; + getPolicyTopics(): PolicyTopic[]; + getType(): AdType; + isType(): AdTypeSpace; + remove(): void; + urls(): AdUrls; +} + +interface AdBuilder extends AdWordsBuilder, hasFinalUrlBuilder, hasTrackingTemplateBuilder { } + +interface AdBuilderSpace { + expandedTextAdBuilder(): ExpandedTextAdBuilder; + gmailImageAdBuilder(): GmailImageAdBuilder; + gmailMultiProductAdBuilder(): GmailMultiProductAdBuilder; + gmailSinglePromotionAdBuilder(): GmailSinglePromotionAdBuilder; + html5AdBuilder(): Html5AdBuilder; + imageAdBuilder(): ImageAdBuilder; + responsiveDisplayAdBuilder(): ResponsiveDisplayAdBuilder; +} + +interface AdTypeSpace { + expandedTextAd(): boolean; + gmailImageAd(): boolean; + gmailMultiProductAd(): boolean; + gmailSinglePromotionAd(): boolean; + html5Ad(): boolean; + imageAd(): boolean; + responsiveDisplayAd(): boolean; +} + +interface AdUrls extends AdWordsUrls, hasGetFinalUrl { } + +interface AdViewSpace { + expandedTextAd(): ExpandedTextAd; + gmailImageAd(): GmailImageAd; + gmailMultiProductAd(): GmailMultiProductAd; + gmailSinglePromotionAd(): GmailSinglePromotionAd; + html5Ad(): Html5Ad; + imageAd(): ImageAd; + responsiveDisplayAd(): ResponsiveDisplayAd; +} + +interface ExpandedTextAd extends Ad { + getDescription(): string; + getHeadlinePart1(): string; + getHeadlinePart2(): string; + getPath1(): string; + getPath2(): string; +} + +interface ExpandedTextAdBuilder extends AdBuilder> { + withDescription(descriptions: string): ExpandedTextAdBuilder; + withHeadlinePart1(headline1: string): ExpandedTextAdBuilder; + withHeadlinePart2(headline2: string): ExpandedTextAdBuilder; + withPath1(path1: string): ExpandedTextAdBuilder; + withPath2(path2: string): ExpandedTextAdBuilder; +} + +interface GmailImageAd extends Ad { + getAdvertiser(): string; + getDescription(): string; + getImage(): Media; + getLogo(): Media; + getName(): string; + getSubject(): string; +} + +interface GmailImageAdBuilder extends AdBuilder> { + withAdvertiser(advertiser: string): GmailImageAdBuilder; + withDescription(description: string): GmailImageAdBuilder; + withDisplayUrl(displayUrl: string): GmailImageAdBuilder; + withImage(image: Media): GmailImageAdBuilder; + withLogo(logo: Media): GmailImageAdBuilder; + withName(name: string): GmailImageAdBuilder; + withSubject(subject: string): GmailImageAdBuilder; +} + +interface GmailMultiProductAd extends Ad { + getAdvertiser(): string; + getContent(): string; + getDescription(): string; + getHeader(): Media; + getHeadline(): string; + getHeadlineColor(): string; + getItemButtonCallsToAction(): string[]; + getItemButtonColor(): string[]; + getItemButtonFinalMobileUrls(): string[]; + getItemButtonFinalUrls(): string[]; + getItemButtonTextColors(): string[]; + getItemButtonTrackingTemplates(): string[]; + getItemImages(): Media[]; + getItemTitleColors(): string[]; + getItemTitles(): string[]; + getLogo(): Media; + getName(): string; + getSubject(): string; +} + +interface GmailMultiProductAdBuilder extends AdBuilder> { + withAdvertiser(advertiser: string): GmailMultiProductAdBuilder; + withContent(content: string): GmailMultiProductAdBuilder; + withDescription(description: string): GmailMultiProductAdBuilder; + withHeader(header: Media): GmailMultiProductAdBuilder; + withHeadline(headline: string): GmailMultiProductAdBuilder; + withHeadlineColor(headlineColor: string): GmailMultiProductAdBuilder; + withItemButtonCallsToAction(itemCallsToAction: string[]): GmailMultiProductAdBuilder; + withItemButtonFinalMobileUrls(itemButtonFinalMobileUrls: string[]): GmailMultiProductAdBuilder; + withItemButtonFinalUrls(itemButtonFinalUrls: string[]): GmailMultiProductAdBuilder; + withItemButtonTrackingTemplates(itemButtonTrackingTemplates: string[]): GmailMultiProductAdBuilder; + withItemImages(itemImages: Media[]): GmailMultiProductAdBuilder; + withItemTitle(itemTitles: string[]): GmailMultiProductAdBuilder; + withLogo(logo: Media): GmailMultiProductAdBuilder; + withName(name: string): GmailMultiProductAdBuilder; + withSubject(subject: string): GmailMultiProductAdBuilder; +} + +interface GmailSinglePromotionAd extends Ad { + getAdvertiser(): string; + getCallToAction(): string; + getCallToActionButtonColor(): string; + getCallToActionTextColor(): string; + getContent(): string; + getDescription(): string; + getHeader(): Media; + getHeadline(): string; + getHeadlineColor(): string; + getImage(): Media; + getLogo(): Media; + getName(): string; + getSubject(): string; +} + +interface GmailSinglePromotionAdBuilder extends AdBuilder> { + withAdvertiser(advertiser: string): GmailSinglePromotionAdBuilder; + withCallToAction(callToAction: string): GmailSinglePromotionAdBuilder; + withCallToActionButtonColor(callToActionButtonColor: string): GmailSinglePromotionAdBuilder; + withCallToActionTextColor(callToActionTextColor: string): GmailSinglePromotionAdBuilder; + withContent(content: string): GmailSinglePromotionAdBuilder; + withDescription(description: string): GmailSinglePromotionAdBuilder; + withDisplayUrl(displayUrl: string): GmailSinglePromotionAdBuilder; + withHeader(header: Media): GmailSinglePromotionAdBuilder; + withHeadline(headline: string): GmailSinglePromotionAdBuilder; + withHeadlineColor(headlineColor: string): GmailSinglePromotionAdBuilder; + withImage(image: Media): GmailSinglePromotionAdBuilder; + withLogo(logo: Media): GmailSinglePromotionAdBuilder; + withName(name: string): GmailSinglePromotionAdBuilder; + withSubject(subject: string): GmailSinglePromotionAdBuilder; +} + +interface Html5Ad extends Ad { + getEntryPoint(): string; + getMediaBundle(): Media; + getName(): string; +} + +interface Html5AdBuilder extends AdBuilder> { + withDisplayUrl(displayUrl: string): Html5AdBuilder; + withEntryPoint(entryPoint: string): Html5AdBuilder; + withMediaBundle(mediaBundle: Media): Html5AdBuilder; + withName(name: string): Html5AdBuilder; + withDimensions(dimensions: string): Html5AdBuilder; +} + +interface ImageAd extends Ad { + getImage(): Media; + getName(): string; +} + +interface ImageAdBuilder extends AdBuilder> { + withDisplayUrl(displayUrl: string): ImageAdBuilder; + withImage(image: Media): ImageAdBuilder; + withName(name: string): ImageAdBuilder; +} + +interface PolicyTopic { + getId(): string; + getName(): string; + getType(): string; +} + +interface ResponsiveDisplayAd extends Ad { + getBusinessName(): string; + getDescription(): string; + getLogoImage(): Media; + getLongHeadline(): string; + getMarketingImage(): Media; + getShortHeadline(): string; +} + +interface ResponsiveDisplayAdBuilder extends AdBuilder> { + withBusinessName(businessName: string): ResponsiveDisplayAdBuilder; + withDescription(description: string): ResponsiveDisplayAdBuilder; + withLogoImage(logo: Media): ResponsiveDisplayAdBuilder; + withLongHeadline(longHeadline: string): ResponsiveDisplayAdBuilder; + withMarketingImage(marketingImage: Media): ResponsiveDisplayAdBuilder; + withShortHeadline(shortHeadline: string): ResponsiveDisplayAdBuilder; +} + +// Bidding Strategies +interface BiddingStrategy extends hasStats { + adGroups(): AdWordsSelector; + campaigns(): AdWordsSelector; + getId(): number; + getName(): string; + getType(): string; + keywords(): AdWordsSelector; + shoppingAdGroups(): AdWordsSelector; // TODO: ShoppingAdGroup + shoppingCampaigns(): AdWordsSelector; // TODO: ShoppingCampaigns +} + +// Budget Orders +interface BillingAccount { + getId(): number; + getName(): string; + getPrimaryBillingId(): string; + getSecondaryBillingId(): string; +} + +interface BudgetOrder { + getBillingAccount(): BillingAccount; + getEndDatetime(): AdWordsDate; + getId(): number; + getName(): string; + getPoNumber(): number; + getSpendingLimit(): number; + getStartDateTime(): AdWordsDate; + getTotalAdjustments(): number; +} + +// Budgets +interface Budget extends AdWordsEntity, hasStats { + campaigns(): AdWordsSelector; + getAmount(): number; + getDeliveryMethod(): string; + getId(): number; + getName(): string; + isExplicitlyShared(): boolean; + setAmount(amount: number): void; +} + +// Bulk Uploads +interface BulkUploads { + newCsvUpload(columnNames: string[], optArgs: FileUploadArguments): CsvUpload; + newFileUpload(file: GoogleAppsScript.Spreadsheet.Sheet | GoogleAppsScript.Base.Blob | GoogleAppsScript.Drive.File, optArgs: FileUploadArguments): FileUpload; +} + +interface BulkUpload { + forCampaignManagement(): T; + forOfflineConversions(): T; + preview(): void; + setFileName(fileName: string): T; +} + +interface FileUpload extends BulkUpload { + apply(): void; +} + +interface CsvUpload extends BulkUpload { + apply(): void; + append(row: {}): CsvUpload; +} + +interface FileUploadArguments { + fileLocale?: string; + moneyInMicros?: boolean; + timeZone?: string; +} + +// Campaign +interface Campaign extends AdWordsEntity, canBeEnabled, hasLabels, hasStartAndEndDate, hasStats { + adGroups(): AdWordsSelector; + addAdSchedule(adSchedule: AdSchedule): AdWordsOperation; + addAdSchedule(dayOfWeek: DayOfWeekString, startHour: number, startMinute: number, endHour: number, endMinute: number, bidModifier: number): AdWordsOperation; + addCallout(calloutExtension: Callout): AdWordsOperation; + addExcludedPlacementList(excludedPlacementList: ExcludedPlacementList): void; + addLocation(locationId: number | TargetedLocation | LocationObject): AdWordsOperation; + addLocation(locationId: number, bidModifier: number): AdWordsOperation; + addMessage(messageExtension: Message): AdWordsOperation; + addMobileApp(mobileAppExtension: MobileApp): AdWordsOperation; + addNegativeKeywordLIst(negativeKeywordList: NegativeKeywordList): void; + addPhoneNumber(phoneNumberExtension: PhoneNumber): AdWordsOperation; + addProximity(proximity: ProximityObject | TargetedProximity): AdWordsOperation; + addProximity(latitude: number, longitude: number, radius: number, radiusUnits: RadiusUnits, optArgs: { bidModifier: number, address: AddressObject}): AdWordsOperation; + addReview(reviewExtension: Review): AdWordsOperation; + addSiteLink(sitelinkExtension: Sitelink): AdWordsOperation; + addSnippet(snippetExtension: Snippet): AdWordsOperation; + ads(): AdWordsSelector; + bidding(): CampaignBidding; + createNegativeKeyword(keywordText: string): void; + display(): CampaignDisplay; + excludeLocation(location: ExcludedLocation | number | { id: number }): AdWordsOperation; + excludedPlacementLists(): AdWordsSelector; + extensions(): CampaignExtensions; + getAdRotationType(): AdRotationType; + getBiddingStrategyType(): BiddingStrategyString; + getBudget(): Budget; + getId(): number; + getName(): string; + isRemoved(): boolean; + keywords(): AdWordsSelector; + negativeKeywordLists(): AdWordsSelector; + negativeKeywords(): AdWordsSelector; + newAdGroupBuilder(): AdGroupBuilder; + removeCallout(calloutExtension: Callout): void; + removeExcludedPlacementList(excludedPlacementList: ExcludedPlacementList): void; + removeMessage(message: Message): void; + removeMobileApp(mobileApp: MobileApp): void; + removeNegativeKeywordList(negativeKeywordList: NegativeKeywordList): void; + removePhoneNumber(phoneNumber: PhoneNumber): void; + removeReview(review: Review): void; + removeSitelink(sitelkin: Sitelink): void; + removeSnippet(snippet: Snippet): void; + setAdRotationType(adRotationType: AdRotationType): void; + setName(name: string): void; + targeting(): CampaignTargeting; + urls(): CampaignUrls; +} + +interface CampaignBidding extends AdWordsBidding, canSetBiddingStrategy { } + +interface CampaignTargeting extends AdWordsTargeting { + adSchedules(): AdWordsSelector; + excludedContentLabels(): AdWordsSelector; + excludedLocations(): AdWordsSelector; + getTargetingSetting(criterionTypeGroup: CriterionTypeGroup): TargetingSetting; + languages(): AdWordsSelector; + newUserListBuilder(): SearchCampaignAudienceBuilder; + platforms(): AdWordsSelector; + setTargetingSetting(criterionTypeGroup: CriterionTypeGroup, targetingSetting: TargetingSetting): void; + targetedLocations(): AdWordsSelector; + targetedProximities(): AdWordsSelector; +} + +interface CampaignUrls extends AdWordsUrls, hasSetTrackingTemplate { + clearTrackingTemplate(): void; +} + +// Common +interface CurrentAccount extends AdWordsEntity, hasStats { + addCallout(calloutExtension: Callout): AdWordsOperation; + addMobileApp(mobileAppExtension: MobileApp): AdWordsOperation; + addReview(reviewExtension: Review): AdWordsOperation; + addSnippet(snippetExtension: Snippet): AdWordsOperation; + extensions(): AccountExtensions; + getCurrencyCode(): string; + getCustomerId(): string; + getName(): string; + getTimeZone(): string; + removeCallout(calloutExtension: Callout): void; + removeMobileApp(mobileAppExtension: MobileApp): void; + removeReview(reviewExtension: Review): void; + removeSnippet(snippetExtension: Snippet): void; +} + +interface ExecutionInfo { + getRemainingCreateQuota(): number; + getRemainingGetQuota(): number; + getRemainingTime(): number; + isPreview(): boolean; +} + +// Display +interface DisplayBuilder extends AdWordsBuilder { + exclude(): AdWordsOperation; + withCpc(cpc: number): T; + withCpm(cpm: number): T; +} + +interface DisplayBidding extends AdWordsBidding { + clearCpc(): void; + clearCpm(): void; + getCpc(): number; + getCpm(): number; + setCpc(cpc: number): void; + setCpm(cpm: number): void; +} + +interface Audience extends ExcludedAudience, hasStats { + bidding(): AudienceBidding; + isEnabled(): boolean; + isPaused(): boolean; +} + +interface ExcludedAudience extends isAdGroupChild { + getAudienceId(): number; + getAudienceType(): AudienceType; + getId(): number; + remove(): void; +} + +interface AudienceBuilder extends DisplayBuilder> { + withAudience(userList: UserList): AudienceBuilder; + withAudienceId(audienceId: number): AudienceBuilder; + withAudienceType(audienceType: AudienceType): AudienceBuilder; +} + +interface AudienceBidding extends AdWordsBidding { + clearCpc(): void; + clearCpm(): void; + getCpc(): number; + getCpm(): number; + setCpc(cpc: number): void; + setCpm(cpm: number): void; +} + +interface DisplayKeyword extends ExcludedDisplayKeyword, hasStats { + bidding(): DisplayKeywordBidding; +} + +interface ExcludedDisplayKeyword extends isAdGroupChild { + getId(): number; + getText(): string; + remove(): void; +} + +interface DisplayKeywordBuilder extends DisplayBuilder> { + withText(text: string): DisplayKeywordBuilder; +} + +interface DisplayKeywordBidding extends DisplayBidding, canSetBiddingStrategy { + clearStrategy(): void; +} + +interface Placement extends ExcludedPlacement, hasStats { + bidding(): PlacementBidding; + isEnabled(): boolean; + isManaged(): boolean; + isPaused(): boolean; +} + +interface ExcludedPlacement extends isAdGroupChild { + getId(): number; + getUrl(): string; + remove(): void; +} + +interface PlacementBuilder extends DisplayBuilder> { + withUrl(url: string): PlacementBuilder; +} + +interface PlacementBidding extends DisplayBidding, canSetBiddingStrategy { + clearStrategy(): void; +} + +interface Topic extends ExcludedTopic, hasStats { + bidding(): TopicBidding; + isEnabled(): boolean; + isPaused(): boolean; +} + +interface ExcludedTopic extends isAdGroupChild { + getId(): number; + getTopicId(): number; + remove(): void; +} + +interface TopicBuilder extends DisplayBuilder> { + withTopicId(topicId: number): TopicBuilder; +} + +interface TopicBidding extends AdWordsBidding { + clearCpc(): void; + clearCpm(): void; + getCpc(): number; + getCpm(): number; + setCpc(cpc: number): void; + setCpm(cpm: number): void; +} + +interface AdGroupDisplay extends Display { + excludedAudiences(): AdWordsSelector; + excludedKeywords(): AdWordsSelector; + excludedPlacements(): AdWordsSelector; + excludedTopics(): AdWordsSelector; + newAudienceBuilder(): AudienceBuilder; + newKeywordBuilder(): DisplayKeywordBuilder; + newPlacementBuilder(): PlacementBuilder; + newTopicBuilder(): TopicBuilder; +} + +interface CampaignDisplay extends Display { + excludedAudiences(): AdWordsSelector; + excludedKeywords(): AdWordsSelector; + excludedPlacements(): AdWordsSelector; + excludedTopics(): AdWordsSelector; + newAudienceBuilder(): AudienceBuilder; + newKeywordBuilder(): DisplayKeywordBuilder; + newPlacementBuilder(): PlacementBuilder; + newTopicBuilder(): TopicBuilder; +} + +interface Display { + audiences(): AdWordsSelector; + keywords(): AdWordsSelector; + placements(): AdWordsSelector; + topics(): AdWordsSelector; +} + +// Keywords +interface Keyword extends AdWordsEntity, canBeEnabled, hasLabels, hasStats, isAdGroupChild { + adParams(): AdWordsSelector; + bidding(): KeywordBidding; + clearDesinationUrl(): void; + getApprovalStatus(): ApprovalStatus; + getFirstPageCpc(): number; + getId(): number; + getMatchType(): MatchType; + getQualityScore(): number; + getText(): string; + getTopOfPageCpc(): number; + remove(): void; + setAdParam(index: number, insertionText: string): void; + urls(): KeywordUrls; +} + +interface KeywordBidding extends AdWordsBidding, canSetBiddingStrategy { + clearStrategy(): void; + getCpc(): number; + getCpm(): number; + setCpc(cpc: number): void; + setCpm(cpm: number): void; +} + +interface KeywordBuilder extends AdWordsBuilder, + hasBiddingStrategyBuilder>, + hasTrackingTemplateBuilder>, + hasFinalUrlBuilder> { + withCpc(cpc: number): KeywordBuilder; + withCpm(cpm: number): KeywordBuilder; + withText(text: string): KeywordBuilder; +} + +interface KeywordUrls extends AdWordsUrls, hasGetFinalUrl, hasSetTrackingTemplate, hasSetFinalUrl { + clearFinalUrl(): void; + clearMobileFinalUrl(): void; + clearTrackingTemplate(): void; +} + +// Labels +interface Label extends AdWordsEntity { + adGroups(): AdWordsSelector; + ads(): AdWordsSelector; + campaigns(): AdWordsSelector; + getColor(): string; + getDescription(): string; + getId(): string; + getName(): string; + keywords(): AdWordsSelector; + remove(): void; + setColor(color: string): void; + setDescription(description: string): void; + setName(name: string): void; +} + +// Media +interface AdMedia { + media(): AdWordsSelector; + newImageBuilder(): ImageBuilder; + newMediaBundleBuilder(): MediaBundleBuilder; + newVideoBuilder(): VideoBuilder; +} + +interface Dimensions { + getHeight(): number; + getWidth(): number; +} + +interface ImageBuilder extends AdWordsBuilder { + withData(data: GoogleAppsScript.Base.Blob): ImageBuilder; + withName(name: string): ImageBuilder; +} + +interface Media { + getDimensions(): MediaDimensions; + getFileSize(): number; + getId(): number; + getMimeType(): string; + getName(): string; + getReferenceId(): string; + getSourceUrl(): string; + getType(): MediaType; + getUrls(): MediaUrls; + getYouTubeVideoId(): string | void; +} + +interface MediaBundleBuilder extends AdWordsBuilder { + withData(data: GoogleAppsScript.Base.Blob): MediaBundleBuilder; + withName(name: string): MediaBundleBuilder; +} + +interface MediaDimensions { + getFullMediaDimensions(): Dimensions; + getPreviewMediaDimensions(): Dimensions; + getShrunkenMediaDimensions(): Dimensions; + getVideoThumbnailDimensions(): Dimensions; +} + +interface MediaUrls { + getFullMediaUrl(): string; + getPreviewMediaUrl(): string; + getShrunkenMediaUrl(): string; + getVideoThumbnailMediaUrl(): string; +} + +interface VideoBuilder extends AdWordsBuilder { + withYouTubeVideoId(youTubeVideoId: string): VideoBuilder; +} + +// Negative Keywords +interface NegativeKeyword extends AdWordsEntity, isAdGroupChild { + getMatchType(): MatchType; + getText(): string; + remove(): void; +} + +// Reports +interface AdWordsReport { + exportToSheet(sheet: GoogleAppsScript.Spreadsheet.Sheet): void; + getColumnHeader(awqlColumnName: string): AdWordsReportColumnHeader; + rows(): AdWordsReportRowIterator; +} + +interface AdWordsReportRow { + formatForUpload(): {}; +} + +interface AdWordsReportRowIterator { + hasNext(): boolean; + next(): AdWordsReportRow; +} + +interface AdWordsReportColumnHeader { + getBulkUploadColumnName(): string; + getReportColumnName(): string; +} + +// Shared Sets +interface ExcludedPlacementList extends AdWordsEntity { + addExcludedPlacement(url: string): void; + addExcludedPlacements(urls: string[]): void; + campaigns(): AdWordsSelector; + excludedPlacements(): AdWordsSelector; + getId(): number; + getName(): string; + setName(name: string): void; +} + +interface ExcludedPlacementListBuilder extends AdWordsBuilder { + withName(name: string): ExcludedPlacementListBuilder; +} + +interface SharedExcludedPlacement extends AdWordsEntity { + getExcludedPlacementList(): ExcludedPlacementList; + getUrl(): string; + remove(): void; +} + +interface NegativeKeywordList extends AdWordsEntity { + addNegativeKeyword(keywordText: string): void; + addNegativeKeywords(keywordTexts: string[]): void; + campaigns(): AdWordsSelector; + getId(): number; + getName(): string; + negativeKeywords(): AdWordsSelector; + setName(): string; +} + +interface NegativeKeywordListBuilder extends AdWordsBuilder { + withName(name: string): NegativeKeywordListBuilder; +} + +interface SharedNegativeKeyword extends AdWordsEntity { + getMatchType(): MatchType; + getNegativeKeywordList(): NegativeKeywordList; + getText(): string; + remove(): void; +} + +// Shopping + +// Targeting +interface AdSchedule extends AdWordsEntity, canSetBidModifier, hasStats, isCampaignChild { + getCampaignType(): CampaignType; + getDayOfWeek(): DayOfWeekString; + getEndHour(): number; + getEndMinute(): number; + getId(): number; + getStartHour(): number; + getStartMinute(): number; + getVideoCampaign(): Campaign; // TODO: VideoCampaign + remove(): void; +} + +interface SearchAdGroupAudience extends SearchAdGroupExcludedAudience, hasStats { + bidding(): SearchAudienceBidding; + isEnabled(): boolean; + isPaused(): boolean; +} + +interface SearchAdGroupAudienceBuilder extends AdWordsBuilder { + exclude(): AdWordsOperation; + withAudience(userList: UserList): SearchAdGroupAudienceBuilder; + withAudienceId(audienceId: number): SearchAdGroupAudienceBuilder; + withBidModifier(modifier: number): SearchAdGroupAudienceBuilder; +} + +interface SearchAdGroupExcludedAudience extends isAdGroupChild { + getAudienceId(): number; + getId(): number; + getName(): string; + remove(): void; +} + +interface SearchAudienceBidding extends canSetBidModifier { + clearBidModifier(): void; +} + +interface SearchCampaignAudience extends SearchCampaignExcludedAudience { + bidding(): SearchAudienceBidding; + isEnabled(): boolean; + isPaused(): boolean; +} + +interface SearchCampaignAudienceBuilder extends AdWordsBuilder { + exclude(): AdWordsOperation; + withAudience(userList: UserList): SearchCampaignAudienceBuilder; + withAudienceId(audienceId: number): SearchCampaignAudienceBuilder; + withBidModifier(modifier: number): SearchCampaignAudienceBuilder; +} + +interface SearchCampaignExcludedAudience extends isCampaignChild { + getAudienceId(): number; + getId(): number; + getName(): string; + remove(): void; +} + +interface ExcludedContentLabel extends AdWordsEntity, isCampaignChild { + getCampaignType(): CampaignType; + getContentLabelType(): string; // TODO: ContentLabelType + getId(): number; + getVideoCampaign(): Campaign; // TODO: VideoCampaign + remove(): void; +} + +interface ExcludedLocation extends AdWordsEntity, isCampaignChild { + getCampaignType(): CampaignType; + getCountryCode(): string; + getId(): number; + getName(): string; + getTargetType(): TargetType; + getTargetingStatus(): TargetingStatus; + getVideoCampaign(): Campaign; // TODO: VideoCampaign + remove(): void; +} + +interface Language extends AdWordsEntity, isCampaignChild { + getCampaignType(): CampaignType; + getId(): number; + getName(): string; + getVideoCampaign(): Campaign; // TODO: VideoCampaign + remove(): void; +} + +interface TargetedLocation extends ExcludedLocation, canSetBidModifier, hasStats { } + +interface Platform extends AdWordsEntity, canSetBidModifier, hasStats, isCampaignChild { + getCampaignType(): CampaignType; + getId(): number; + getName(): string; + getVideoCampaign(): Campaign; // TODO: VideoCampaign +} + +interface Address { + getCityName(): string; + getCountryCode(): string; + getPostalCode(): string; + getProvinceCode(): string; + getProvinceName(): string; + getStreetAddress(): string; + getStreetAddress2(): string; +} + +interface TargetedProximity extends AdWordsEntity, canSetBidModifier, hasStats, isCampaignChild { + getAddress(): Address; + getCampaignType(): CampaignType; + getId(): number; + getLatitude(): number; + getLongitude(): number; + getRadius(): number; + getRadiusUnits(): RadiusUnits; + getVideoCampaign(): Campaign; // TODO: VideoCampaign + remove(): void; +} + +interface Targeting extends VideoCampaignTargeting { + audiences(): AdWordsSelector; + excludedAudiences(): AdWordsSelector; +} + +interface VideoCampaignTargeting { + adSchedules(): AdWordsSelector; + excludedContentLabels(): AdWordsSelector; + excludedLocations(): AdWordsSelector; + languages(): AdWordsSelector; + platforms(): AdWordsSelector; + targetedLocations(): AdWordsSelector; + targetedProximities(): AdWordsSelector; +} + +// User Lists +interface UserList { + close(): void; + excludedAdGroups(): AdWordsSelector; + excludedCampaigns(): AdWordsSelector; + getDescription(): string; + getId(): number; + getMembershipLifeSpan(): number; + getName(): string; + getSizeForDisplay(): number; + getSizeForSearch(): number; + getSizeRangeForDisplay(): UserListSizeRange; + getSizeRangeForSearch(): UserListSizeRange; + getType(): UserListType; + isClosed(): boolean; + isEligibleForDisplay(): boolean; + isEligibleForSearch(): boolean; + isOpen(): boolean; + isReadOnly(): boolean; + open(): void; + setDescription(description: string): void; + setMembershipLifeSpan(membershipLifeSpan: number): void; + setName(name: string): void; + targetedAdGroups(): AdWordsSelector; + targetedCampaigns(): AdWordsSelector; +} + +// Video + +// Non-entity +interface ExtensionSchedule { + getDayOfWeek(): DayOfWeekString; + getEndHour(): number; + getEndMinute(): number; + getStartHour(): number; + getStartMinute(): number; +} + +interface ExtensionScheduleInput { + dayOfWeek?: DayOfWeekString; + startHour?: number; + startMinute?: number; + endHour?: number; + endMinute?: number; +} + +interface LocationObject { + id: number; + bidModifier?: number; +} + +interface ProximityObject { + latitude: number; + longitude: number; + radius: number; + radiusUnits: RadiusUnits; + bidModifier?: number; + address?: AddressObject; +} + +interface AddressObject { + streetAddress: string; + streetAddress2: string; + cityName: string; + provinceName: string; + provinceCode: string; + postalCode: string; + countryCode: string; +} + +interface ReportOptionArguments { + includeZeroImpressions?: boolean; + returnMoneyInMicros?: boolean; + apiVersion?: string; + resolveGeoNames?: boolean; +} + +// Extendables +interface canBeEnabled { + enable(): void; + isEnabled(): boolean; + isPaused(): boolean; + pause(): void; +} + +interface canSetBiddingStrategy { + setStrategy(biddingStrategy: BiddingStrategyString | BiddingStrategy): void; +} + +interface canSetBidModifier { + getBidModifier(): number; + setBidModifier(modifier: number): void; +} + +interface hasBiddingStrategyBuilder { + withBiddingStrategy(biddingStrategy: BiddingStrategyString | BiddingStrategy): B; +} + +interface hasExtensions { + addCallout(calloutExtension: Callout): AdWordsOperation; + addMessage(messageExtension: Message): AdWordsOperation; + addMobileApp(mobileAppExtension: MobileApp): AdWordsOperation; + addPhoneNumber(phoneNumberExtension: PhoneNumber): AdWordsOperation; + addReview(reviewExtension: Review): AdWordsOperation; + addSitelink(sitelinkExtension: Sitelink): AdWordsOperation; + addSnippet(snippetExtension: Snippet): AdWordsOperation; + removeCallout(calloutExtension: Callout): void; + removeMessage(messageExtension: Message): void; + removeMobileApp(mobileAppExtension: MobileApp): void; + removePhoneNumber(phoneNumberExtension: PhoneNumber): void; + removeReview(reviewExtension: Review): void; + removeSitelink(sitelinkExtension: Sitelink): void; + removeSnippet(snippetExtension: Snippet): void; +} + +interface hasGetFinalUrl { + getFinalUrl(): string; + getMobileFinalUrl(): string; +} +interface hasSetFinalUrl { + setFinalUrl(url: string): void; + setMobileFinalUrl(url: string): void; +} +interface hasFinalUrlBuilder { + withFinalUrl(url: string): B; + withMobileFinalUrl(url: string): B; +} + +interface hasLabels { + applyLabel(name: string): void; + labels(): AdWordsSelector