UNPKG

typescript-closure-tools

Version:

Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files

719 lines (676 loc) 26.1 kB
/// <reference path="phonegap.d.ts" /> function test_accelerometer() { var watchID = null; var options = { frequency: 3000 }; watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options); if (watchID) { navigator.accelerometer.clearWatch(watchID); watchID = null; } function onSuccess(acceleration: Acceleration) { var element = document.getElementById('accelerometer'); element.innerHTML = 'Acceleration X: ' + acceleration.x + '<br />' + 'Acceleration Y: ' + acceleration.y + '<br />' + 'Acceleration Z: ' + acceleration.z + '<br />' + 'Timestamp: ' + acceleration.timestamp + '<br />'; } function onError() { alert('onError!'); } } function test_camera() { var pictureSource; var destinationType; document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { pictureSource = navigator.camera.PictureSourceType; destinationType = navigator.camera.DestinationType; } function onPhotoDataSuccess(imageData) { var smallImage = <HTMLImageElement>document.getElementById('smallImage'); smallImage.style.display = 'block'; smallImage.src = "data:image/jpeg;base64," + imageData; } function onPhotoURISuccess(imageURI) { var largeImage = <HTMLImageElement>document.getElementById('largeImage'); largeImage.style.display = 'block'; largeImage.src = imageURI; } function capturePhoto() { navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, destinationType: destinationType.DATA_URL }); } function capturePhotoEdit() { navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 20, allowEdit: true, destinationType: destinationType.DATA_URL }); } function getPhoto(source) { navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, destinationType: destinationType.FILE_URI, sourceType: source }); } function onFail(message) { alert('Failed because: ' + message); } var popover = new CameraPopoverOptions(300, 300, 100, 100, 1); var options = <CameraOptions>{ quality: 50, destinationType: 1, sourceType: 1, popoverOptions: popover }; navigator.camera.getPicture(onSuccess, onFail, options); function onSuccess(imageData) { var image = <HTMLImageElement>document.getElementById('myImage'); image.src = "data:image/jpeg;base64," + imageData; } } function test_capture() { var capture = navigator.device.capture; function captureSuccess(mediaFiles) { var i, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { uploadFile(mediaFiles[i]); } } function captureError(error) { var msg = 'An error occurred during capture: ' + error.code; navigator.notification.alert(msg, null, 'Uh oh!'); } function captureAudio() { navigator.device.capture.captureAudio(captureSuccess, captureError, { limit: 2 }); } function uploadFile(mediaFile) { var ft = new FileTransfer(), path = mediaFile.fullPath, name = mediaFile.name; ft.upload(path, "http://my.domain.com/upload.php", function (result) { console.log('Upload success: ' + result.responseCode); console.log(result.bytesSent + ' bytes sent'); }, function (error) { console.log('Error uploading file ' + path + ': ' + error.code); }, { fileName: name }); } var options = { limit: 3, duration: 10 }; navigator.device.capture.captureAudio(captureSuccess, captureError, options); function captureSuccess2(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; } }; function captureError2(error) { navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error'); }; navigator.device.capture.captureImage(captureSuccess2, captureError2, { limit: 2 }); function captureImage() { navigator.device.capture.captureImage(captureSuccess2, captureError2, { limit: 2 }); } function captureVideo() { navigator.device.capture.captureVideo(captureSuccess2, captureError2, { limit: 2 }); } } function test_compass() { document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { navigator.compass.getCurrentHeading(onSuccess, onError); } function onSuccess(heading) { alert('Heading: ' + heading.magneticHeading); } function onError(compassError) { alert('Compass Error: ' + compassError.code); } } function test_compass2() { var watchID = null; document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { startWatch(); } function startWatch() { var options = { frequency: 3000 }; watchID = navigator.compass.watchHeading(onSuccess, onError, options); } function stopWatch() { if (watchID) { navigator.compass.clearWatch(watchID); watchID = null; } } function onSuccess(heading) { var element = document.getElementById('heading'); element.innerHTML = 'Heading: ' + heading.magneticHeading; } function onError(compassError) { alert('Compass error: ' + compassError.code); } } function test_compass3() { var watchID = null; function startWatch() { var options = { frequency: 3000 }; watchID = navigator.compass.watchHeading(onSuccess, onError, options); } function stopWatch() { if (watchID) { navigator.compass.clearWatch(watchID); watchID = null; } } function onSuccess(heading) { var element = document.getElementById('heading'); element.innerHTML = 'Heading: ' + heading.magneticHeading; } function onError(compassError) { alert('Compass error: ' + compassError.code); } } function test_connection() { var networkState = navigator.connection.type; var states = {}; states[Connection.UNKNOWN] = 'Unknown connection'; states[Connection.ETHERNET] = 'Ethernet connection'; states[Connection.WIFI] = 'WiFi connection'; states[Connection.CELL_2G] = 'Cell 2G connection'; states[Connection.CELL_3G] = 'Cell 3G connection'; states[Connection.CELL_4G] = 'Cell 4G connection'; states[Connection.NONE] = 'No network connection'; alert('Connection type: ' + states[networkState]); } function test_contacts() { var myContact = navigator.contacts.create({ "displayName": "Test User" }); myContact.note = "This contact has a note."; console.log("The contact, " + myContact.displayName + ", note: " + myContact.note); function onDeviceReady() { var options = new ContactFindOptions(); options.filter = "Bob"; navigator.contacts.find(["displayName", "name"], onSuccess, onError, options); } function onSuccess(contacts) { for (var i = 0; i < contacts.length; i++) { console.log("Display Name = " + contacts[i].displayName); } } function onError(contactError) { alert('onError!'); } var contact = navigator.contacts.create(); contact.displayName = "Plumber"; contact.nickname = "Plumber"; var name = new ContactName(); name.givenName = "Jane"; name.familyName = "Doe"; contact.name = name; contact.save(onSuccess, onError); var clone = contact.clone(); clone.name.givenName = "John"; console.log("Original contact name = " + contact.name.givenName); console.log("Cloned contact name = " + clone.name.givenName); contact.remove(onSuccess, onError); } function test_contacts2() { function onSuccess(contacts) { for (var i = 0; i < contacts.length; i++) { console.log("Display Name = " + contacts[i].displayName); } } function onError(contactError) { alert('onError!'); } function onDeviceReady() { var contact = navigator.contacts.create(); contact.displayName = "Plumber"; contact.nickname = "Plumber"; var name = new ContactName(); name.givenName = "Jane"; name.familyName = "Doe"; contact.name = name; contact.save(onSuccess, onError); var clone = contact.clone(); clone.name.givenName = "John"; console.log("Original contact name = " + contact.name.givenName); console.log("Cloned contact name = " + clone.name.givenName); contact.remove(onSuccess, onError); } var options = new ContactFindOptions(); options.filter = ""; var filter = ["displayName", "addresses"]; navigator.contacts.find(filter, onSuccess, onError, options); var contacts: Contact[] = []; for (var i = 0; i < contacts.length; i++) { for (var j = 0; j < contacts[i].addresses.length; j++) { alert("Pref: " + contacts[i].addresses[j].pref + "\n" + "Type: " + contacts[i].addresses[j].type + "\n" + "Formatted: " + contacts[i].addresses[j].formatted + "\n" + "Street Address: " + contacts[i].addresses[j].streetAddress + "\n" + "Locality: " + contacts[i].addresses[j].locality + "\n" + "Region: " + contacts[i].addresses[j].region + "\n" + "Postal Code: " + contacts[i].addresses[j].postalCode + "\n" + "Country: " + contacts[i].addresses[j].country); } } var contact = navigator.contacts.create(); var phoneNumbers = []; phoneNumbers[0] = new ContactField('work', '212-555-1234', false); phoneNumbers[1] = new ContactField('mobile', '917-555-5432', true); // preferred number phoneNumbers[2] = new ContactField('home', '203-555-7890', false); contact.phoneNumbers = phoneNumbers; contact.save(); var options = new ContactFindOptions(); options.filter = ""; options.multiple = true; filter = ["displayName"]; navigator.contacts.find(filter, onSuccess, onError, options); } function test_device() { var element = document.getElementById('deviceProperties'); element.innerHTML = 'Device Name: ' + device.name + '<br />' + 'Device Cordova: ' + device.cordova + '<br />' + 'Device Platform: ' + device.platform + '<br />' + 'Device UUID: ' + device.uuid + '<br />' + 'Device Model: ' + device.model + '<br />' + 'Device Version: ' + device.version + '<br />'; } function test_file() { function onDeviceReady() { window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail); } function gotFS(fileSystem) { fileSystem.root.getFile("readme.txt", null, gotFileEntry, fail); } function gotFileEntry(fileEntry) { fileEntry.file(gotFile, fail); } function gotFile(file) { readDataUrl(file); readAsText(file); } function readDataUrl(file) { var reader = new FileReader(); reader.onloadend = function (evt) { console.log("Read as data URL"); console.log((<any>evt.target).result); }; reader.readAsDataURL(file); } function readAsText(file) { var reader = new FileReader(); reader.onloadend = function (evt) { console.log("Read as text"); console.log((<any>evt.target).result); }; reader.readAsText(file); } function fail(evt) { console.log(evt.target.error.code); } } function test_file2() { function onDeviceReady() { window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail); } function gotFS(fileSystem) { fileSystem.root.getFile("readme.txt", { create: true, exclusive: false }, gotFileEntry, fail); } function gotFileEntry(fileEntry) { fileEntry.createWriter(gotFileWriter, fail); } function gotFileWriter(writer) { writer.onwriteend = function (evt) { console.log("contents of file now 'some sample text'"); writer.truncate(11); writer.onwriteend = function (evt) { console.log("contents of file now 'some sample'"); writer.seek(4); writer.write(" different text"); writer.onwriteend = function (evt) { console.log("contents of file now 'some different text'"); } }; }; writer.write("some sample text"); } function fail(error) { console.log(error.code); } } function test_file3() { function onDeviceReady() { window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail); } function onFileSystemSuccess(fileSystem) { console.log(fileSystem.name); console.log(fileSystem.root.name); } function fail(evt) { console.log(evt.target.error.code); } var onSetMetadataWin = function () { console.log("success setting metadata") } var onSetMetadataFail = function () { console.log("error setting metadata") } var onGetFileWin = function (parent) { var data = {}; var metadataKey: any; var metadataValue: any; data[metadataKey] = metadataValue; parent.setMetadata(onSetMetadataWin, onSetMetadataFail, data); } var onGetFileFail = function () { console.log("error getting file") } var onFSWin = function (fileSystem) { var filePath = ''; fileSystem.root.getFile(filePath, { create: true, exclusive: false }, onGetFileWin, onGetFileFail); } var onFSFail = function (evt) { console.log(evt.target.error.code); } var localFileSystem:any; window.requestFileSystem(localFileSystem, 0, onFSWin, onFSFail); var success: any; var entry: FileEntry; var parent = (<any>document.getElementById('parent')).value, parentName = parent.substring(parent.lastIndexOf('/') + 1), parentEntry = new DirectoryEntry(parentName, parent); entry.moveTo(parentEntry, "newFile.txt", success, fail); entry.remove(success, fail); entry.getParent(success, fail); entry.createWriter(success, fail); entry.file(success, fail); entry.getMetadata(success, fail); entry.setMetadata(success, fail, { "com.apple.MobileBackup": 1 }); function win(r) { console.log("Code = " + r.responseCode); console.log("Response = " + r.response); console.log("Sent = " + r.bytesSent); } var uri = encodeURI("http://some.server.com/upload.php"); var fileURI = ""; var options = new FileUploadOptions(); options.fileKey = "file"; options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1); options.mimeType = "text/plain"; var params:any = {}; params.headers = { 'headerParam': 'headerValue' }; options.params = params; var ft = new FileTransfer(); ft.upload(fileURI, uri, win, fail, options); } function test_geolocation() { var onSuccess = function (position) { alert('Latitude: ' + position.coords.latitude + '\n' + 'Longitude: ' + position.coords.longitude + '\n' + 'Altitude: ' + position.coords.altitude + '\n' + 'Accuracy: ' + position.coords.accuracy + '\n' + 'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' + 'Heading: ' + position.coords.heading + '\n' + 'Speed: ' + position.coords.speed + '\n' + 'Timestamp: ' + position.timestamp + '\n'); }; function onError(error: GeolocationError) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } navigator.geolocation.getCurrentPosition(onSuccess, onError); } function test_geolocation2() { function onSuccess(position) { var element = document.getElementById('geolocation'); element.innerHTML = 'Latitude: ' + position.coords.latitude + '<br />' + 'Longitude: ' + position.coords.longitude + '<br />' + '<hr />' + element.innerHTML; } function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { timeout: 30000 }); var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { enableHighAccuracy: true }); navigator.geolocation.clearWatch(watchID); } function test_globalization() { navigator.globalization.getPreferredLanguage( function (language) { alert('language: ' + language.value + '\n'); }, function () { alert('Error getting language\n'); } ); navigator.globalization.getLocaleName( function (locale) { alert('locale: ' + locale.value + '\n'); }, function () { alert('Error getting locale\n'); } ); navigator.globalization.dateToString( new Date(), function (date) { alert('date:' + date.value + '\n'); }, function () { alert('Error getting dateString\n'); }, { formatLength: 'short', selector: 'date and time' } ); navigator.globalization.stringToDate( '9/25/2012', function (date) { alert('month:' + date.month + ' day:' + date.day + ' year:' + date.year + '\n'); }, function () { alert('Error getting date\n'); }, { selector: 'date' } ); navigator.globalization.getDatePattern( function (date) { alert('pattern: ' + date.pattern + '\n'); }, function () { alert('Error getting pattern\n'); }, { formatLength: 'short', selector: 'date and time' } ); navigator.globalization.getDateNames( function (names) { for (var i = 0; i < names.value.length; i++) { alert('month: ' + names.value[i] + '\n'); } }, function () { alert('Error getting names\n'); }, { type: 'wide', item: 'months' } ); navigator.globalization.isDayLightSavingsTime( new Date(), function (date) { alert('dst: ' + date.dst + '\n'); }, function () { alert('Error getting names\n'); } ); navigator.globalization.getFirstDayOfWeek( function (day) { alert('day: ' + day.value + '\n'); }, function () { alert('Error getting day\n'); } ); navigator.globalization.numberToString( 3.1415926, function (number) { alert('number: ' + number.value + '\n'); }, function () { alert('Error getting number\n'); }, { type: 'decimal' } ); navigator.globalization.stringToNumber( '1234.56', function (number) { alert('number: ' + number.value + '\n'); }, function () { alert('Error getting number\n'); }, { type: 'decimal' } ); navigator.globalization.getNumberPattern( function (pattern) { alert('pattern: ' + pattern.pattern + '\n' + 'symbol: ' + pattern.symbol + '\n' + 'fraction: ' + pattern.fraction + '\n' + 'rounding: ' + pattern.rounding + '\n' + 'positive: ' + pattern.positive + '\n' + 'negative: ' + pattern.negative + '\n' + 'decimal: ' + pattern.decimal + '\n' + 'grouping: ' + pattern.grouping); }, function () { alert('Error getting pattern\n'); }, { type: 'decimal' } ); navigator.globalization.getCurrencyPattern( 'USD', function (pattern) { alert('pattern: ' + pattern.pattern + '\n' + 'code: ' + pattern.code + '\n' + 'fraction: ' + pattern.fraction + '\n' + 'rounding: ' + pattern.rounding + '\n' + 'decimal: ' + pattern.decimal + '\n' + 'grouping: ' + pattern.grouping); }, function () { alert('Error getting pattern\n'); } ); } function test_inAppBrowser() { var ref = window.open('http://apache.org', '_blank', 'location=yes'); ref.addEventListener('loadstart', function () { alert(event.url); }); ref.removeEventListener('loadstart', null); ref.close(); } function test_media() { var src = ''; var my_media = new Media(src, () => { }, () => { }); var mediaTimer = setInterval(function () { my_media.getCurrentPosition( function (position) { if (position > -1) { console.log((position) + " sec"); } }, function (e) { console.log("Error getting pos=" + e); } ); }, 1000); var counter = 0; var timerDur = setInterval(function () { counter = counter + 100; if (counter > 2000) { clearInterval(timerDur); } var dur = my_media.getDuration(); if (dur > 0) { clearInterval(timerDur); document.getElementById('audio_duration').innerHTML = (dur) + " sec"; } }, 100); function playAudio(url) { var my_media = new Media(url, function () { console.log("playAudio():Audio Success"); }, function (err) { console.log("playAudio():Audio Error: " + err); }); my_media.play(); setTimeout(function () { my_media.pause(); }, 10000); } } function test_media2() { function playAudio(url) { var my_media = new Media(url, function () { console.log("playAudio():Audio Success"); }, function (err) { console.log("playAudio():Audio Error: " + err); }); my_media.play(); } var onSuccess: any; var onError: any; var my_media = new Media(src, onSuccess, onError); my_media.play(); my_media.stop(); my_media.release(); setTimeout(function () { my_media.seekTo(10000); }, 5000); my_media.stopRecord(); var src = "myrecording.mp3"; var mediaRec = new Media(src, function () { console.log("recordAudio():Audio Success"); }, function (err) { console.log("recordAudio():Audio Error: " + err.code); } ); mediaRec.startRecord(); } var onConfirm: any; function test_notification() { function alertDismissed() { } navigator.notification.alert( 'You are the winner!', alertDismissed, 'Game Over', 'Done' ); navigator.notification.confirm( 'You are the winner!', onConfirm, 'Game Over', 'Restart,Exit' ); navigator.notification.confirm( 'You are the winner!', onConfirm, 'Game Over', ['Restart','Exit'] ); navigator.notification.beep(2); navigator.notification.vibrate(2500); } function test_splashscreen() { navigator.splashscreen.show(); navigator.splashscreen.hide(); } function test_storage() { var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000); db.transaction(populateDB, errorCB, successCB); function populateDB(tx: SQLTransaction) { tx.executeSql('DROP TABLE IF EXISTS DEMO'); tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)'); tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")'); tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")'); } function errorCB(err) { alert("Error processing SQL: " + err); } function successCB() { alert("success!"); } db.changeVersion("1.0", "1.1"); function queryDB(tx) { tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB); } function querySuccess(tx, resultSet) { console.log("Returned rows = " + resultSet.rows.length); if (!resultSet.rowsAffected) { console.log('No rows affected!'); return false; } console.log("Last inserted row ID = " + resultSet.insertId); } var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000); db.transaction(queryDB, errorCB); function querySuccessSet(tx, results) { var len = results.rows.length; console.log("DEMO table: " + len + " rows found."); for (var i = 0; i < len; i++) { console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data = " + results.rows.item(i).data); } } var storage = window.localStorage; var keyName = window.localStorage.key(0); window.localStorage.setItem("key", "value"); var value = window.localStorage.getItem("key"); window.localStorage.removeItem("key"); window.localStorage.clear(); }