Funkcionalna radna verzija
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
PEOPLE_DB=https://docs.google.com/spreadsheets/d/1s4Ytz7mf-YpszVTMTTrYd5iG_dsTGjrCpDQbpIx7zkU/edit#gid=0
|
||||
PAIRS_LIST=https://docs.google.com/spreadsheets/d/1gPuRhTry3YoJ_ibI2BfL1ue2_YLlhtW56OP39ADJY_4/edit#gid=0
|
||||
PAIRS_LIST=https://docs.google.com/spreadsheets/d/1JXtDjajJLZb_iXvDYfBEVYdCfehF_URHeeO7_hBXLrI/edit#gid=0
|
||||
|
||||
305
backend/app.js
305
backend/app.js
@@ -5,81 +5,83 @@ var readline = require('readline');
|
||||
var google = require('googleapis');
|
||||
var googleAuth = require('google-auth-library');
|
||||
|
||||
require('dotenv').config()
|
||||
|
||||
const PEOPLE_DB = process.env.PEOPLE_DB;
|
||||
const PAIRS_LIST = process.env.PAIRS_LIST;
|
||||
|
||||
const app = express()
|
||||
const router = express.Router();
|
||||
|
||||
|
||||
router.use(bodyParser.urlencoded({ extended: false }));
|
||||
router.use(bodyParser.json());
|
||||
|
||||
/*
|
||||
app.get('/', function (req, res) {
|
||||
res.send('Hello World!')
|
||||
})
|
||||
*/
|
||||
require('dotenv').config()
|
||||
|
||||
var SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly'];
|
||||
const PEOPLE_DB = process.env.PEOPLE_DB.split('/')[5];
|
||||
const PAIRS_LIST = process.env.PAIRS_LIST.split('/')[5];
|
||||
|
||||
var SCOPES = ['https://www.googleapis.com/auth/spreadsheets'];
|
||||
var TOKEN_DIR = (process.env.HOME || process.env.HOMEPATH ||
|
||||
process.env.USERPROFILE) + '/.credentials/';
|
||||
var TOKEN_PATH = TOKEN_DIR + 'sheets.googleapis.com-nodejs-quickstart.json';
|
||||
|
||||
fs.readFile('client_secret.json', function processClientSecrets(err, content) {
|
||||
console.log("reading client secret");
|
||||
if (err) {
|
||||
console.log('Error loading client secret file: ' + err);
|
||||
return;
|
||||
}
|
||||
// Authorize a client with the loaded credentials, then call the
|
||||
// Google Sheets API.
|
||||
authorize(JSON.parse(content), listPairs);
|
||||
});
|
||||
var oauth2Client = null;
|
||||
|
||||
function authorize(credentials, callback) {
|
||||
var clientSecret = credentials.installed.client_secret;
|
||||
var clientId = credentials.installed.client_id;
|
||||
var redirectUrl = credentials.installed.redirect_uris[0];
|
||||
var auth = new googleAuth();
|
||||
var oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUrl);
|
||||
var pairsForSave = [];
|
||||
var lastRow = null; //last row with names
|
||||
|
||||
// Check if we have previously stored a token.
|
||||
fs.readFile(TOKEN_PATH, function(err, token) {
|
||||
console.log(TOKEN_PATH);
|
||||
|
||||
function executeAPI(callback1,callback2){
|
||||
fs.readFile('client_secret.json', function processClientSecrets(err, content) {
|
||||
console.log("reading client secret");
|
||||
if (err) {
|
||||
getNewToken(oauth2Client, callback);
|
||||
} else {
|
||||
oauth2Client.credentials = JSON.parse(token);
|
||||
callback(oauth2Client);
|
||||
console.log('Error loading client secret file: ' + err);
|
||||
return;
|
||||
}
|
||||
// Authorize a client with the loaded credentials, then call the
|
||||
// Google Sheets API.
|
||||
authorize(JSON.parse(content), callback1, callback2);
|
||||
});
|
||||
}
|
||||
|
||||
function getNewToken(oauth2Client, callback) {
|
||||
var authUrl = oauth2Client.generateAuthUrl({
|
||||
access_type: 'offline',
|
||||
scope: SCOPES
|
||||
});
|
||||
console.log('Authorize this app by visiting this url: ', authUrl);
|
||||
var rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout
|
||||
});
|
||||
rl.question('Enter the code from that page here: ', function(code) {
|
||||
rl.close();
|
||||
oauth2Client.getToken(code, function(err, token) {
|
||||
function authorize(credentials, callback1, callback2){
|
||||
var clientSecret = credentials.installed.client_secret;
|
||||
var clientId = credentials.installed.client_id;
|
||||
var redirectUrl = credentials.installed.redirect_uris[0];
|
||||
var auth = new googleAuth();
|
||||
|
||||
oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUrl);
|
||||
|
||||
// Check if we have previously stored a token.
|
||||
fs.readFile(TOKEN_PATH, function(err, token) {
|
||||
console.log(TOKEN_PATH);
|
||||
if (err) {
|
||||
console.log('Error while trying to retrieve access token', err);
|
||||
return;
|
||||
getNewToken(callback1, callback2);
|
||||
} else {
|
||||
oauth2Client.credentials = JSON.parse(token);
|
||||
callback1(callback2);
|
||||
}
|
||||
oauth2Client.credentials = token;
|
||||
storeToken(token);
|
||||
callback(oauth2Client);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getNewToken(callback1, callback2) {
|
||||
var authUrl = oauth2Client.generateAuthUrl({
|
||||
access_type: 'offline',
|
||||
scope: SCOPES
|
||||
});
|
||||
console.log('Authorize this app by visiting this url: ', authUrl);
|
||||
var rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout
|
||||
});
|
||||
rl.question('Enter the code from that page here: ', function(code) {
|
||||
rl.close();
|
||||
oauth2Client.getToken(code, function(err, token) {
|
||||
if (err) {
|
||||
console.log('Error while trying to retrieve access token', err);
|
||||
return;
|
||||
}
|
||||
oauth2Client.credentials = token;
|
||||
storeToken(token);
|
||||
callback1(callback2);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function storeToken(token) {
|
||||
@@ -95,55 +97,190 @@ function storeToken(token) {
|
||||
console.log('Token stored to ' + TOKEN_PATH);
|
||||
}
|
||||
|
||||
function listPairs(auth){
|
||||
ranges = ['2017!A:A','2017!B:B'];
|
||||
function getPairs(callback){
|
||||
auth=oauth2Client;
|
||||
ranges = ['2017!A:A','2017!B:B']; //get all rows with names
|
||||
var sheets = google.sheets('v4');
|
||||
sheets.spreadsheets.values.batchGet({
|
||||
auth: auth,
|
||||
spreadsheetId: PAIRS_LIST,
|
||||
ranges: ranges
|
||||
}, function(err, result) {
|
||||
if(err) {
|
||||
// Handle error
|
||||
console.log(err);
|
||||
return null;
|
||||
} else {
|
||||
const pairs = [];
|
||||
|
||||
lastRow = result.valueRanges[0].values.length;
|
||||
|
||||
for (let i=0;i<lastRow;i++){
|
||||
let name1 = result.valueRanges[0].values[i][0];
|
||||
if (name1){
|
||||
let name2 = result.valueRanges[1].values[i][0];
|
||||
pairs.push({name1:name1,name2:name2});
|
||||
}
|
||||
}
|
||||
callback(pairs);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getAvailableNames(callback){
|
||||
auth=oauth2Client;
|
||||
ranges = ['\'Other preferences\'!A2:A','\'Other preferences\'!E2:E']; //get all rows with names
|
||||
var sheets = google.sheets('v4');
|
||||
sheets.spreadsheets.values.batchGet({
|
||||
auth: auth,
|
||||
spreadsheetId: '1gPuRhTry3YoJ_ibI2BfL1ue2_YLlhtW56OP39ADJY_4',
|
||||
spreadsheetId: PEOPLE_DB,
|
||||
ranges: ranges
|
||||
}, function(err, result) {
|
||||
if(err) {
|
||||
// Handle error
|
||||
console.log(err);
|
||||
return null;
|
||||
} else {
|
||||
console.log('%d ranges retrieved.', result.valueRanges.length);
|
||||
console.log(result.valueRanges[0].values[0]);
|
||||
const names = [];
|
||||
|
||||
for (let i=0;i<result.valueRanges[0].values.length;i++){
|
||||
let name = result.valueRanges[0].values[i][0];
|
||||
let available = result.valueRanges[1].values[i][0];
|
||||
|
||||
if (name && (available=='x')){
|
||||
names.push(name);
|
||||
}
|
||||
}
|
||||
callback(names);
|
||||
}
|
||||
});
|
||||
}
|
||||
/*
|
||||
function listPairs(auth) {
|
||||
var sheets = google.sheets('v4');
|
||||
sheets.spreadsheets.values.get({
|
||||
auth: auth,
|
||||
spreadsheetId: '1gPuRhTry3YoJ_ibI2BfL1ue2_YLlhtW56OP39ADJY_4',
|
||||
range: '2017!A:A',
|
||||
}, function(err, response) {
|
||||
if (err) {
|
||||
console.log('The API returned an error: ' + err);
|
||||
return;
|
||||
}
|
||||
var rows = response.values;
|
||||
if (rows.length == 0) {
|
||||
console.log('No data found.');
|
||||
} else {
|
||||
console.log('Name, Major:');
|
||||
for (var i = 0; i < rows.length; i++) {
|
||||
var row = rows[i];
|
||||
// Print columns A and E, which correspond to indices 0 and 4.
|
||||
console.log('%s, %s', row[0], row[4]);
|
||||
|
||||
function MakePairs(callback){
|
||||
executeAPI(getAvailableNames,function(names){
|
||||
executeAPI(getPairs, function(pairs){
|
||||
let next_i=false;
|
||||
const newPairs = [];
|
||||
const usedNames = [];
|
||||
for (let i=0;i<names.length;i++){
|
||||
next_i=false;
|
||||
for (let j=0;j<names.length;j++){
|
||||
if (i!=j){
|
||||
|
||||
let found=false;
|
||||
|
||||
pairs.filter((pair)=>{
|
||||
if ((pair.name1==names[i] && pair.name2==names[j])||(pair.name1==names[j] && pair.name2==names[i])){
|
||||
console.log("Par pronaden !");
|
||||
console.log(names[i] + " i " + names[j]);
|
||||
found=true;
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
if (!found){
|
||||
usedNames.filter((name)=>{
|
||||
if (names[i] === name || names[j] === name){
|
||||
console.log("Ime vec koristeno");
|
||||
found=true;
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if (!found){
|
||||
next_i=true;
|
||||
newPairs.push({name1:names[i], name2:names[j]});
|
||||
usedNames.push(names[i]);
|
||||
usedNames.push(names[j]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (next_i) continue;
|
||||
}
|
||||
pairsForSave=newPairs;
|
||||
callback.send(newPairs);
|
||||
});
|
||||
});
|
||||
//Napravi par -> Provjeri da li postoji -> Snimi ili ponovi postupak
|
||||
|
||||
}
|
||||
|
||||
function SavePairs(callback){
|
||||
if (lastRow== null) return;
|
||||
|
||||
auth=oauth2Client;
|
||||
|
||||
const values_column1 = [];
|
||||
const values_column2 = [];
|
||||
|
||||
for (let i=0;i<pairsForSave.length;i++){
|
||||
values_column1.push([pairsForSave[i].name1]);
|
||||
values_column2.push([pairsForSave[i].name2]);
|
||||
}
|
||||
|
||||
const data = [];
|
||||
|
||||
let range1= '2017!A'+(lastRow+2)+':A'+(lastRow+2+pairsForSave.length);
|
||||
let range2= '2017!B'+(lastRow+2)+':B'+(lastRow+2+pairsForSave.length);
|
||||
|
||||
|
||||
data.push({
|
||||
range:range1,
|
||||
values: values_column1
|
||||
});
|
||||
|
||||
data.push({
|
||||
range:range2,
|
||||
values: values_column2
|
||||
});
|
||||
|
||||
var body = {
|
||||
data: data,
|
||||
valueInputOption:"RAW"
|
||||
};
|
||||
var sheets = google.sheets('v4');
|
||||
sheets.spreadsheets.values.batchUpdate({
|
||||
spreadsheetId: PAIRS_LIST,
|
||||
auth:auth,
|
||||
resource: body
|
||||
}, function(err, result) {
|
||||
if(err) {
|
||||
// Handle error
|
||||
console.log(err);
|
||||
callback.send({result:false});
|
||||
} else {
|
||||
lastRow=null;
|
||||
pairsForSave=[];
|
||||
callback.send({result:true});
|
||||
}
|
||||
});
|
||||
}*/
|
||||
|
||||
router.post('/getPairs',(req,resp)=>{
|
||||
//resp.send({ime:'Bilal',prezime:'Catic'});
|
||||
// Load client secrets from a local file.
|
||||
}
|
||||
|
||||
app.use(function(req, res, next) {
|
||||
res.header("Access-Control-Allow-Origin", "*");
|
||||
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, X-Last-Record-Id, X-Total-Count");
|
||||
res.header("Access-Control-Expose-Headers", "X-Last-Record-Id, X-Total-Count");
|
||||
res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
|
||||
res.header('Access-Control-Allow-Credentials', 'true');
|
||||
next();
|
||||
});
|
||||
|
||||
app.get('/getPairs',(req,resp)=>{
|
||||
pairsForSave=[];
|
||||
lastRow=null;
|
||||
MakePairs(resp);
|
||||
});
|
||||
|
||||
app.get('/savePairs', (req,resp)=>{
|
||||
SavePairs(resp);
|
||||
//resp.send({result:true});
|
||||
});
|
||||
|
||||
|
||||
app.listen(3005, function () {
|
||||
console.log('server na portu 3005');
|
||||
})
|
||||
123
backend/google_api.js
Normal file
123
backend/google_api.js
Normal file
@@ -0,0 +1,123 @@
|
||||
var fs = require('fs');
|
||||
var readline = require('readline');
|
||||
var google = require('googleapis');
|
||||
var googleAuth = require('google-auth-library');
|
||||
|
||||
require('dotenv').config()
|
||||
|
||||
const PEOPLE_DB = process.env.PEOPLE_DB.split('/')[5];
|
||||
const PAIRS_LIST = process.env.PAIRS_LIST.split('/')[5];
|
||||
|
||||
var SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly'];
|
||||
var TOKEN_DIR = (process.env.HOME || process.env.HOMEPATH ||
|
||||
process.env.USERPROFILE) + '/.credentials/';
|
||||
var TOKEN_PATH = TOKEN_DIR + 'sheets.googleapis.com-nodejs-quickstart.json';
|
||||
|
||||
var oauth2Client = null;
|
||||
|
||||
|
||||
function executeAPI(callback){
|
||||
fs.readFile('client_secret.json', function processClientSecrets(err, content) {
|
||||
console.log("reading client secret");
|
||||
if (err) {
|
||||
console.log('Error loading client secret file: ' + err);
|
||||
return;
|
||||
}
|
||||
// Authorize a client with the loaded credentials, then call the
|
||||
// Google Sheets API.
|
||||
return authorize(JSON.parse(content), callback);
|
||||
});
|
||||
}
|
||||
|
||||
function authorize(credentials, callback){
|
||||
var clientSecret = credentials.installed.client_secret;
|
||||
var clientId = credentials.installed.client_id;
|
||||
var redirectUrl = credentials.installed.redirect_uris[0];
|
||||
var auth = new googleAuth();
|
||||
|
||||
oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUrl);
|
||||
|
||||
// Check if we have previously stored a token.
|
||||
fs.readFile(TOKEN_PATH, function(err, token) {
|
||||
console.log(TOKEN_PATH);
|
||||
if (err) {
|
||||
getNewToken();
|
||||
return callback();
|
||||
} else {
|
||||
oauth2Client.credentials = JSON.parse(token);
|
||||
var resultat = callback();
|
||||
console.log("resultat");
|
||||
console.log(resultat);
|
||||
//return callback();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getNewToken() {
|
||||
var authUrl = oauth2Client.generateAuthUrl({
|
||||
access_type: 'offline',
|
||||
scope: SCOPES
|
||||
});
|
||||
console.log('Authorize this app by visiting this url: ', authUrl);
|
||||
var rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout
|
||||
});
|
||||
rl.question('Enter the code from that page here: ', function(code) {
|
||||
rl.close();
|
||||
oauth2Client.getToken(code, function(err, token) {
|
||||
if (err) {
|
||||
console.log('Error while trying to retrieve access token', err);
|
||||
return;
|
||||
}
|
||||
oauth2Client.credentials = token;
|
||||
storeToken(token);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function storeToken(token) {
|
||||
try {
|
||||
fs.mkdirSync(TOKEN_DIR);
|
||||
} catch (err) {
|
||||
if (err.code != 'EEXIST') {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
console.log(JSON.stringify(token));
|
||||
fs.writeFile(TOKEN_PATH, JSON.stringify(token));
|
||||
console.log('Token stored to ' + TOKEN_PATH);
|
||||
}
|
||||
|
||||
function getPairs(){
|
||||
auth=oauth2Client;
|
||||
ranges = ['2017!A:A','2017!B:B']; //get all rows with names
|
||||
var sheets = google.sheets('v4');
|
||||
sheets.spreadsheets.values.batchGet({
|
||||
auth: auth,
|
||||
spreadsheetId: PAIRS_LIST,
|
||||
ranges: ranges
|
||||
}, function(err, result) {
|
||||
if(err) {
|
||||
// Handle error
|
||||
console.log(err);
|
||||
return null;
|
||||
} else {
|
||||
const pairs = [];
|
||||
|
||||
for (let i=0;i<result.valueRanges[0].values.length;i++){
|
||||
let name1 = result.valueRanges[0].values[i][0];
|
||||
if (name1){
|
||||
let name2 = result.valueRanges[1].values[i][0];
|
||||
pairs.push({name1:name1,name2:name2});
|
||||
}
|
||||
}
|
||||
console.log(pairs);
|
||||
return pairs;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getPairs: function{executeAPI(getPairs(callback));}
|
||||
}
|
||||
BIN
web/node_modules/.cache/babel-loader/0520ae233443de31f7487b55b1b45e144955e785.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/0520ae233443de31f7487b55b1b45e144955e785.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/054e4bc57591c3ae0cd01a9c7344af9c3adb9544.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/054e4bc57591c3ae0cd01a9c7344af9c3adb9544.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/062b5c2cf711f0dcc593d8eb4fc53c019861ef1f.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/062b5c2cf711f0dcc593d8eb4fc53c019861ef1f.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/0792e345684ef95f0dfe44bcb61f7e2327d36b01.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/0792e345684ef95f0dfe44bcb61f7e2327d36b01.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/0d63ac1605fa31b0117bc522efcc20021f3b9ee2.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/0d63ac1605fa31b0117bc522efcc20021f3b9ee2.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/1cf422a5da5f01df4387757155595bf15a6caa0d.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/1cf422a5da5f01df4387757155595bf15a6caa0d.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/1d1c0e356fa33385e3f512d31157bdf362af3e67.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/1d1c0e356fa33385e3f512d31157bdf362af3e67.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/1e8bd2285137e142aa4dadb361efedf47c0e7b03.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/1e8bd2285137e142aa4dadb361efedf47c0e7b03.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/1fbd28e31b639c0d8cbb5c895f598862a111c0ea.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/1fbd28e31b639c0d8cbb5c895f598862a111c0ea.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/23cf70efe3a2893c385f075345ca5bcf1d42f447.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/23cf70efe3a2893c385f075345ca5bcf1d42f447.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/271e838aa6b5d98c0eb54a4d829e470a803a78bc.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/271e838aa6b5d98c0eb54a4d829e470a803a78bc.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/2b6250ce4fd336cfd294b35608df1c3ffc51249e.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/2b6250ce4fd336cfd294b35608df1c3ffc51249e.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/3025061cfa64a8251e1898f72fe491ab8bcf6fd3.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/3025061cfa64a8251e1898f72fe491ab8bcf6fd3.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/39fa3034417ecb7939216bbc7e1129b868c491ad.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/39fa3034417ecb7939216bbc7e1129b868c491ad.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/3c8bc33f2fd35848490100f4c5b9171b14975cd2.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/3c8bc33f2fd35848490100f4c5b9171b14975cd2.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/3dfaa9af0bff36bca510c5b7c56e1a365273c45e.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/3dfaa9af0bff36bca510c5b7c56e1a365273c45e.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/3eac94bfafb705cd8bb8e99d748bf20f01695fa4.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/3eac94bfafb705cd8bb8e99d748bf20f01695fa4.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/478a0bb9c685b5de92a6b4a4c87c1c736b63c1bc.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/478a0bb9c685b5de92a6b4a4c87c1c736b63c1bc.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/48038a4044dd76cb801d36b7867ce8838e3f0ff8.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/48038a4044dd76cb801d36b7867ce8838e3f0ff8.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/480dd014cbf28e024c760bc79d567ac07e2b3ec7.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/480dd014cbf28e024c760bc79d567ac07e2b3ec7.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/4ff86cb3a2a3d40678f9aa1399c90a96299ebff6.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/4ff86cb3a2a3d40678f9aa1399c90a96299ebff6.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/554df6c98bf732316bfe81a5c1e8ba9b5013adbe.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/554df6c98bf732316bfe81a5c1e8ba9b5013adbe.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/59e5a1035f8dff633dff8ae2a83437074dab6150.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/59e5a1035f8dff633dff8ae2a83437074dab6150.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/5f1353e9a673fb977729a067fc6634957be40cce.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/5f1353e9a673fb977729a067fc6634957be40cce.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/60ef94a17ef0bbc59dc0e32f8fd4c56c7dd8ec70.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/60ef94a17ef0bbc59dc0e32f8fd4c56c7dd8ec70.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/6261dd49ce8bf4adad1eebf45274a18b90f2f10b.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/6261dd49ce8bf4adad1eebf45274a18b90f2f10b.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/6481d9f734e675b2cd92e3c7e8fa7df95121902f.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/6481d9f734e675b2cd92e3c7e8fa7df95121902f.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/64c824e34f1a8f72d50db2d46ab1f63a0df0f40b.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/64c824e34f1a8f72d50db2d46ab1f63a0df0f40b.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/6cbdf6584a0410c2b184359483621ab6ef1be132.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/6cbdf6584a0410c2b184359483621ab6ef1be132.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/71fde1859222b2e8fb8c9084d9e108fd8db035f3.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/71fde1859222b2e8fb8c9084d9e108fd8db035f3.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/72cd4e3f757296de666bb573ea360ba523abdce8.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/72cd4e3f757296de666bb573ea360ba523abdce8.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/72e1e30ad9be9e737fa244233523b2163d51b5cb.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/72e1e30ad9be9e737fa244233523b2163d51b5cb.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/78f24f76eea28dd8aff46c8fd63e117a84727dd5.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/78f24f76eea28dd8aff46c8fd63e117a84727dd5.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/839e1fd962d33c131ede8e2f64916acb87319420.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/839e1fd962d33c131ede8e2f64916acb87319420.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/882aa59cb92845db81949d2bb4613bad88819d3e.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/882aa59cb92845db81949d2bb4613bad88819d3e.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/888d49ba83e8be1bc8bdabbd5ffdf38b15fbef19.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/888d49ba83e8be1bc8bdabbd5ffdf38b15fbef19.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/8f828831231a96ace3d97d85862e7207bbf342fb.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/8f828831231a96ace3d97d85862e7207bbf342fb.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/90c02ab35957e1b173c20f319f9920ba3e489143.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/90c02ab35957e1b173c20f319f9920ba3e489143.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/98c0f1844fe6d3c38fe171f96abf3194e423e927.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/98c0f1844fe6d3c38fe171f96abf3194e423e927.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/99b4c11ed25c4cb7365ba53931a78e5ca0905eac.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/99b4c11ed25c4cb7365ba53931a78e5ca0905eac.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/9e699982b5ed05e794f1692a72060b8b173ef7bb.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/9e699982b5ed05e794f1692a72060b8b173ef7bb.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/a1c502bea16878b61cc14c08cdc3810421042142.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/a1c502bea16878b61cc14c08cdc3810421042142.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/a4147be55c6de109b0502703726c080871c83d21.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/a4147be55c6de109b0502703726c080871c83d21.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/a7000de45e9e753ffa88e661458dbaf7fb3c4dd6.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/a7000de45e9e753ffa88e661458dbaf7fb3c4dd6.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/a80f25940d323b42b1d32b0ac34a7e435d1355e7.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/a80f25940d323b42b1d32b0ac34a7e435d1355e7.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/a94afc2c8c721f11cd4bf1799f9c891756f428c7.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/a94afc2c8c721f11cd4bf1799f9c891756f428c7.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/aaf394aa0e8ac2f1888a256e9974d53234b0fcfe.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/aaf394aa0e8ac2f1888a256e9974d53234b0fcfe.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/b04cde1623d14c62877990771cb1f6cda160c950.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/b04cde1623d14c62877990771cb1f6cda160c950.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/b66f928303cf62e5da1e15b13ff3bd1e1af1e259.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/b66f928303cf62e5da1e15b13ff3bd1e1af1e259.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/bc1c102838d668d9566ebfdaa564767cb4db7504.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/bc1c102838d668d9566ebfdaa564767cb4db7504.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/bc2b763302dc1cd8c21db111bc340cf7c85e5483.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/bc2b763302dc1cd8c21db111bc340cf7c85e5483.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/bd6821182ea005c3114c5dbb7307f27da1591e9c.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/bd6821182ea005c3114c5dbb7307f27da1591e9c.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/c1c70099e402d3176080df76b24336411ff3f949.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/c1c70099e402d3176080df76b24336411ff3f949.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/c1d5bcaa44155e40893407220464b2e72d52329b.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/c1d5bcaa44155e40893407220464b2e72d52329b.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/c5c6e68d73f3af0c5d7b2b9e53c0657b31f0d5b3.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/c5c6e68d73f3af0c5d7b2b9e53c0657b31f0d5b3.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/ca270b8c648e49ae05e9a583a25c5de06d6394c1.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/ca270b8c648e49ae05e9a583a25c5de06d6394c1.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/cf36f3762d1ff5324367154d5e55c9258c5aef1e.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/cf36f3762d1ff5324367154d5e55c9258c5aef1e.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/d0c6c81864e2e50e13f78a7343c6d7fa25507794.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/d0c6c81864e2e50e13f78a7343c6d7fa25507794.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/d5ce15a0d9c5ff8622870407c6968b8fe1367d71.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/d5ce15a0d9c5ff8622870407c6968b8fe1367d71.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/d676e6bd0078952f93b9c0f2a0535f817a0a14af.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/d676e6bd0078952f93b9c0f2a0535f817a0a14af.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/d8dbfd1b8d4b64f520bd5b618d41af1878f35c42.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/d8dbfd1b8d4b64f520bd5b618d41af1878f35c42.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/dc42b94cf484cb84095aeb36fda8c1da520ba01d.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/dc42b94cf484cb84095aeb36fda8c1da520ba01d.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/e8250445d9b97f65227109c30298f13a846aff82.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/e8250445d9b97f65227109c30298f13a846aff82.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/e9e60f60a3887daa28242a135c99afb363e80fa8.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/e9e60f60a3887daa28242a135c99afb363e80fa8.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/ece13ea9eaa75ef8e16f85471150c535fd31dd49.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/ece13ea9eaa75ef8e16f85471150c535fd31dd49.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/f0174165519edba8dde31918e0fad7e1b7a9a71f.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/f0174165519edba8dde31918e0fad7e1b7a9a71f.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/fc1ff81f91f95e5c216adb01eeafb6f73948ffb1.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/fc1ff81f91f95e5c216adb01eeafb6f73948ffb1.json.gz
generated
vendored
Normal file
Binary file not shown.
BIN
web/node_modules/.cache/babel-loader/fcac14e331f89f03cee9fc682247db1d413e5e96.json.gz
generated
vendored
Normal file
BIN
web/node_modules/.cache/babel-loader/fcac14e331f89f03cee9fc682247db1d413e5e96.json.gz
generated
vendored
Normal file
Binary file not shown.
3
web/node_modules/babel-helper-bindify-decorators/.npmignore
generated
vendored
Normal file
3
web/node_modules/babel-helper-bindify-decorators/.npmignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
src
|
||||
test
|
||||
node_modules
|
||||
5
web/node_modules/babel-helper-bindify-decorators/README.md
generated
vendored
Normal file
5
web/node_modules/babel-helper-bindify-decorators/README.md
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
# babel-helper-bindify-decorators
|
||||
|
||||
## Usage
|
||||
|
||||
TODO
|
||||
59
web/node_modules/babel-helper-bindify-decorators/lib/index.js
generated
vendored
Normal file
59
web/node_modules/babel-helper-bindify-decorators/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
|
||||
var _getIterator2 = require("babel-runtime/core-js/get-iterator");
|
||||
|
||||
var _getIterator3 = _interopRequireDefault(_getIterator2);
|
||||
|
||||
exports.default = bindifyDecorators;
|
||||
|
||||
var _babelTypes = require("babel-types");
|
||||
|
||||
var t = _interopRequireWildcard(_babelTypes);
|
||||
|
||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function bindifyDecorators(decorators) {
|
||||
for (var _iterator = decorators, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) {
|
||||
var _ref;
|
||||
|
||||
if (_isArray) {
|
||||
if (_i >= _iterator.length) break;
|
||||
_ref = _iterator[_i++];
|
||||
} else {
|
||||
_i = _iterator.next();
|
||||
if (_i.done) break;
|
||||
_ref = _i.value;
|
||||
}
|
||||
|
||||
var decoratorPath = _ref;
|
||||
|
||||
var decorator = decoratorPath.node;
|
||||
var expression = decorator.expression;
|
||||
if (!t.isMemberExpression(expression)) continue;
|
||||
|
||||
var temp = decoratorPath.scope.maybeGenerateMemoised(expression.object);
|
||||
var ref = void 0;
|
||||
|
||||
var nodes = [];
|
||||
|
||||
if (temp) {
|
||||
ref = temp;
|
||||
nodes.push(t.assignmentExpression("=", temp, expression.object));
|
||||
} else {
|
||||
ref = expression.object;
|
||||
}
|
||||
|
||||
nodes.push(t.callExpression(t.memberExpression(t.memberExpression(ref, expression.property, expression.computed), t.identifier("bind")), [ref]));
|
||||
|
||||
if (nodes.length === 1) {
|
||||
decorator.expression = nodes[0];
|
||||
} else {
|
||||
decorator.expression = t.sequenceExpression(nodes);
|
||||
}
|
||||
}
|
||||
}
|
||||
module.exports = exports["default"];
|
||||
41
web/node_modules/babel-helper-bindify-decorators/package.json
generated
vendored
Normal file
41
web/node_modules/babel-helper-bindify-decorators/package.json
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"_from": "babel-helper-bindify-decorators@^6.24.1",
|
||||
"_id": "babel-helper-bindify-decorators@6.24.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
|
||||
"_location": "/babel-helper-bindify-decorators",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "babel-helper-bindify-decorators@^6.24.1",
|
||||
"name": "babel-helper-bindify-decorators",
|
||||
"escapedName": "babel-helper-bindify-decorators",
|
||||
"rawSpec": "^6.24.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^6.24.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/babel-helper-explode-class"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
|
||||
"_shasum": "14c19e5f142d7b47f19a52431e52b1ccbc40a330",
|
||||
"_spec": "babel-helper-bindify-decorators@^6.24.1",
|
||||
"_where": "/home/bilal/Saburly/slucajna-televizija/web/node_modules/babel-helper-explode-class",
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-traverse": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Helper function to bindify decorators",
|
||||
"license": "MIT",
|
||||
"main": "lib/index.js",
|
||||
"name": "babel-helper-bindify-decorators",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-helper-bindify-decorators"
|
||||
},
|
||||
"version": "6.24.1"
|
||||
}
|
||||
3
web/node_modules/babel-helper-explode-class/.npmignore
generated
vendored
Normal file
3
web/node_modules/babel-helper-explode-class/.npmignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
src
|
||||
test
|
||||
node_modules
|
||||
5
web/node_modules/babel-helper-explode-class/README.md
generated
vendored
Normal file
5
web/node_modules/babel-helper-explode-class/README.md
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
# babel-helper-explode-class
|
||||
|
||||
## Usage
|
||||
|
||||
TODO
|
||||
93
web/node_modules/babel-helper-explode-class/lib/index.js
generated
vendored
Normal file
93
web/node_modules/babel-helper-explode-class/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
|
||||
var _getIterator2 = require("babel-runtime/core-js/get-iterator");
|
||||
|
||||
var _getIterator3 = _interopRequireDefault(_getIterator2);
|
||||
|
||||
exports.default = function (classPath) {
|
||||
classPath.assertClass();
|
||||
|
||||
var memoisedExpressions = [];
|
||||
|
||||
function maybeMemoise(path) {
|
||||
if (!path.node || path.isPure()) return;
|
||||
|
||||
var uid = classPath.scope.generateDeclaredUidIdentifier();
|
||||
memoisedExpressions.push(t.assignmentExpression("=", uid, path.node));
|
||||
path.replaceWith(uid);
|
||||
}
|
||||
|
||||
function memoiseDecorators(paths) {
|
||||
if (!Array.isArray(paths) || !paths.length) return;
|
||||
|
||||
paths = paths.reverse();
|
||||
|
||||
(0, _babelHelperBindifyDecorators2.default)(paths);
|
||||
|
||||
for (var _iterator = paths, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) {
|
||||
var _ref;
|
||||
|
||||
if (_isArray) {
|
||||
if (_i >= _iterator.length) break;
|
||||
_ref = _iterator[_i++];
|
||||
} else {
|
||||
_i = _iterator.next();
|
||||
if (_i.done) break;
|
||||
_ref = _i.value;
|
||||
}
|
||||
|
||||
var path = _ref;
|
||||
|
||||
maybeMemoise(path);
|
||||
}
|
||||
}
|
||||
|
||||
maybeMemoise(classPath.get("superClass"));
|
||||
memoiseDecorators(classPath.get("decorators"), true);
|
||||
|
||||
var methods = classPath.get("body.body");
|
||||
for (var _iterator2 = methods, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) {
|
||||
var _ref2;
|
||||
|
||||
if (_isArray2) {
|
||||
if (_i2 >= _iterator2.length) break;
|
||||
_ref2 = _iterator2[_i2++];
|
||||
} else {
|
||||
_i2 = _iterator2.next();
|
||||
if (_i2.done) break;
|
||||
_ref2 = _i2.value;
|
||||
}
|
||||
|
||||
var methodPath = _ref2;
|
||||
|
||||
if (methodPath.is("computed")) {
|
||||
maybeMemoise(methodPath.get("key"));
|
||||
}
|
||||
|
||||
if (methodPath.has("decorators")) {
|
||||
memoiseDecorators(classPath.get("decorators"));
|
||||
}
|
||||
}
|
||||
|
||||
if (memoisedExpressions) {
|
||||
classPath.insertBefore(memoisedExpressions.map(function (expr) {
|
||||
return t.expressionStatement(expr);
|
||||
}));
|
||||
}
|
||||
};
|
||||
|
||||
var _babelHelperBindifyDecorators = require("babel-helper-bindify-decorators");
|
||||
|
||||
var _babelHelperBindifyDecorators2 = _interopRequireDefault(_babelHelperBindifyDecorators);
|
||||
|
||||
var _babelTypes = require("babel-types");
|
||||
|
||||
var t = _interopRequireWildcard(_babelTypes);
|
||||
|
||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
module.exports = exports["default"];
|
||||
42
web/node_modules/babel-helper-explode-class/package.json
generated
vendored
Normal file
42
web/node_modules/babel-helper-explode-class/package.json
generated
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"_from": "babel-helper-explode-class@^6.24.1",
|
||||
"_id": "babel-helper-explode-class@6.24.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
|
||||
"_location": "/babel-helper-explode-class",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "babel-helper-explode-class@^6.24.1",
|
||||
"name": "babel-helper-explode-class",
|
||||
"escapedName": "babel-helper-explode-class",
|
||||
"rawSpec": "^6.24.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^6.24.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/babel-plugin-transform-decorators"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
|
||||
"_shasum": "7dc2a3910dee007056e1e31d640ced3d54eaa9eb",
|
||||
"_spec": "babel-helper-explode-class@^6.24.1",
|
||||
"_where": "/home/bilal/Saburly/slucajna-televizija/web/node_modules/babel-plugin-transform-decorators",
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"babel-helper-bindify-decorators": "^6.24.1",
|
||||
"babel-runtime": "^6.22.0",
|
||||
"babel-traverse": "^6.24.1",
|
||||
"babel-types": "^6.24.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Helper function to explode class",
|
||||
"license": "MIT",
|
||||
"main": "lib/index.js",
|
||||
"name": "babel-helper-explode-class",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-helper-explode-class"
|
||||
},
|
||||
"version": "6.24.1"
|
||||
}
|
||||
3
web/node_modules/babel-plugin-syntax-async-generators/.npmignore
generated
vendored
Normal file
3
web/node_modules/babel-plugin-syntax-async-generators/.npmignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
src
|
||||
test
|
||||
node_modules
|
||||
35
web/node_modules/babel-plugin-syntax-async-generators/README.md
generated
vendored
Normal file
35
web/node_modules/babel-plugin-syntax-async-generators/README.md
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
# babel-plugin-syntax-async-generators
|
||||
|
||||
Allow parsing of async generator functions.
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
$ npm install babel-plugin-syntax-async-generators
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Via `.babelrc` (Recommended)
|
||||
|
||||
**.babelrc**
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins": ["syntax-async-generators"]
|
||||
}
|
||||
```
|
||||
|
||||
### Via CLI
|
||||
|
||||
```sh
|
||||
$ babel --plugins syntax-async-generators script.js
|
||||
```
|
||||
|
||||
### Via Node API
|
||||
|
||||
```javascript
|
||||
require("babel-core").transform("code", {
|
||||
plugins: ["syntax-async-generators"]
|
||||
});
|
||||
```
|
||||
13
web/node_modules/babel-plugin-syntax-async-generators/lib/index.js
generated
vendored
Normal file
13
web/node_modules/babel-plugin-syntax-async-generators/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
|
||||
exports.default = function () {
|
||||
return {
|
||||
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
||||
parserOpts.plugins.push("asyncGenerators");
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = exports["default"];
|
||||
41
web/node_modules/babel-plugin-syntax-async-generators/package.json
generated
vendored
Normal file
41
web/node_modules/babel-plugin-syntax-async-generators/package.json
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"_from": "babel-plugin-syntax-async-generators@^6.5.0",
|
||||
"_id": "babel-plugin-syntax-async-generators@6.13.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
|
||||
"_location": "/babel-plugin-syntax-async-generators",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "babel-plugin-syntax-async-generators@^6.5.0",
|
||||
"name": "babel-plugin-syntax-async-generators",
|
||||
"escapedName": "babel-plugin-syntax-async-generators",
|
||||
"rawSpec": "^6.5.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^6.5.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/babel-plugin-transform-async-generator-functions"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
|
||||
"_shasum": "6bc963ebb16eccbae6b92b596eb7f35c342a8b9a",
|
||||
"_spec": "babel-plugin-syntax-async-generators@^6.5.0",
|
||||
"_where": "/home/bilal/Saburly/slucajna-televizija/web/node_modules/babel-plugin-transform-async-generator-functions",
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Allow parsing of async generator functions",
|
||||
"devDependencies": {},
|
||||
"keywords": [
|
||||
"babel-plugin"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/index.js",
|
||||
"name": "babel-plugin-syntax-async-generators",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators"
|
||||
},
|
||||
"version": "6.13.0"
|
||||
}
|
||||
3
web/node_modules/babel-plugin-syntax-class-constructor-call/.npmignore
generated
vendored
Normal file
3
web/node_modules/babel-plugin-syntax-class-constructor-call/.npmignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
node_modules
|
||||
*.log
|
||||
src
|
||||
35
web/node_modules/babel-plugin-syntax-class-constructor-call/README.md
generated
vendored
Normal file
35
web/node_modules/babel-plugin-syntax-class-constructor-call/README.md
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
# babel-plugin-syntax-class-constructor-call (deprecated)
|
||||
|
||||
Allow parsing of do expressions.
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
$ npm install babel-plugin-syntax-class-constructor-call
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Via `.babelrc` (Recommended)
|
||||
|
||||
**.babelrc**
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins": ["syntax-class-constructor-call"]
|
||||
}
|
||||
```
|
||||
|
||||
### Via CLI
|
||||
|
||||
```sh
|
||||
$ babel --plugins syntax-class-constructor-call script.js
|
||||
```
|
||||
|
||||
### Via Node API
|
||||
|
||||
```javascript
|
||||
require("babel-core").transform("code", {
|
||||
plugins: ["syntax-class-constructor-call"]
|
||||
});
|
||||
```
|
||||
13
web/node_modules/babel-plugin-syntax-class-constructor-call/lib/index.js
generated
vendored
Normal file
13
web/node_modules/babel-plugin-syntax-class-constructor-call/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
|
||||
exports.default = function () {
|
||||
return {
|
||||
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
||||
parserOpts.plugins.push("classConstructorCall");
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = exports["default"];
|
||||
41
web/node_modules/babel-plugin-syntax-class-constructor-call/package.json
generated
vendored
Normal file
41
web/node_modules/babel-plugin-syntax-class-constructor-call/package.json
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"_from": "babel-plugin-syntax-class-constructor-call@^6.18.0",
|
||||
"_id": "babel-plugin-syntax-class-constructor-call@6.18.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=",
|
||||
"_location": "/babel-plugin-syntax-class-constructor-call",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "babel-plugin-syntax-class-constructor-call@^6.18.0",
|
||||
"name": "babel-plugin-syntax-class-constructor-call",
|
||||
"escapedName": "babel-plugin-syntax-class-constructor-call",
|
||||
"rawSpec": "^6.18.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^6.18.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/babel-plugin-transform-class-constructor-call"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
|
||||
"_shasum": "9cb9d39fe43c8600bec8146456ddcbd4e1a76416",
|
||||
"_spec": "babel-plugin-syntax-class-constructor-call@^6.18.0",
|
||||
"_where": "/home/bilal/Saburly/slucajna-televizija/web/node_modules/babel-plugin-transform-class-constructor-call",
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Allow parsing of class constructor calls (deprecated)",
|
||||
"devDependencies": {},
|
||||
"keywords": [
|
||||
"babel-plugin"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/index.js",
|
||||
"name": "babel-plugin-syntax-class-constructor-call",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-class-constructor-call"
|
||||
},
|
||||
"version": "6.18.0"
|
||||
}
|
||||
3
web/node_modules/babel-plugin-syntax-decorators/.npmignore
generated
vendored
Normal file
3
web/node_modules/babel-plugin-syntax-decorators/.npmignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
node_modules
|
||||
*.log
|
||||
src
|
||||
35
web/node_modules/babel-plugin-syntax-decorators/README.md
generated
vendored
Normal file
35
web/node_modules/babel-plugin-syntax-decorators/README.md
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
# babel-plugin-syntax-decorators
|
||||
|
||||
Allow parsing of decorators.
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
$ npm install babel-plugin-syntax-decorators
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Via `.babelrc` (Recommended)
|
||||
|
||||
**.babelrc**
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins": ["syntax-decorators"]
|
||||
}
|
||||
```
|
||||
|
||||
### Via CLI
|
||||
|
||||
```sh
|
||||
$ babel --plugins syntax-decorators script.js
|
||||
```
|
||||
|
||||
### Via Node API
|
||||
|
||||
```javascript
|
||||
require("babel-core").transform("code", {
|
||||
plugins: ["syntax-decorators"]
|
||||
});
|
||||
```
|
||||
13
web/node_modules/babel-plugin-syntax-decorators/lib/index.js
generated
vendored
Normal file
13
web/node_modules/babel-plugin-syntax-decorators/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
|
||||
exports.default = function () {
|
||||
return {
|
||||
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
||||
parserOpts.plugins.push("decorators");
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = exports["default"];
|
||||
41
web/node_modules/babel-plugin-syntax-decorators/package.json
generated
vendored
Normal file
41
web/node_modules/babel-plugin-syntax-decorators/package.json
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"_from": "babel-plugin-syntax-decorators@^6.13.0",
|
||||
"_id": "babel-plugin-syntax-decorators@6.13.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
|
||||
"_location": "/babel-plugin-syntax-decorators",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "babel-plugin-syntax-decorators@^6.13.0",
|
||||
"name": "babel-plugin-syntax-decorators",
|
||||
"escapedName": "babel-plugin-syntax-decorators",
|
||||
"rawSpec": "^6.13.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^6.13.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/babel-plugin-transform-decorators"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
|
||||
"_shasum": "312563b4dbde3cc806cee3e416cceeaddd11ac0b",
|
||||
"_spec": "babel-plugin-syntax-decorators@^6.13.0",
|
||||
"_where": "/home/bilal/Saburly/slucajna-televizija/web/node_modules/babel-plugin-transform-decorators",
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Allow parsing of decorators",
|
||||
"devDependencies": {},
|
||||
"keywords": [
|
||||
"babel-plugin"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/index.js",
|
||||
"name": "babel-plugin-syntax-decorators",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-decorators"
|
||||
},
|
||||
"version": "6.13.0"
|
||||
}
|
||||
3
web/node_modules/babel-plugin-syntax-export-extensions/.npmignore
generated
vendored
Normal file
3
web/node_modules/babel-plugin-syntax-export-extensions/.npmignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
node_modules
|
||||
*.log
|
||||
src
|
||||
35
web/node_modules/babel-plugin-syntax-export-extensions/README.md
generated
vendored
Normal file
35
web/node_modules/babel-plugin-syntax-export-extensions/README.md
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
# babel-plugin-syntax-export-extensions
|
||||
|
||||
Allow parsing of export extensions.
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
$ npm install babel-plugin-syntax-export-extensions
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Via `.babelrc` (Recommended)
|
||||
|
||||
**.babelrc**
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins": ["syntax-export-extensions"]
|
||||
}
|
||||
```
|
||||
|
||||
### Via CLI
|
||||
|
||||
```sh
|
||||
$ babel --plugins syntax-export-extensions script.js
|
||||
```
|
||||
|
||||
### Via Node API
|
||||
|
||||
```javascript
|
||||
require("babel-core").transform("code", {
|
||||
plugins: ["syntax-export-extensions"]
|
||||
});
|
||||
```
|
||||
13
web/node_modules/babel-plugin-syntax-export-extensions/lib/index.js
generated
vendored
Normal file
13
web/node_modules/babel-plugin-syntax-export-extensions/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
|
||||
exports.default = function () {
|
||||
return {
|
||||
manipulateOptions: function manipulateOptions(opts, parserOpts) {
|
||||
parserOpts.plugins.push("exportExtensions");
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = exports["default"];
|
||||
41
web/node_modules/babel-plugin-syntax-export-extensions/package.json
generated
vendored
Normal file
41
web/node_modules/babel-plugin-syntax-export-extensions/package.json
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"_from": "babel-plugin-syntax-export-extensions@^6.8.0",
|
||||
"_id": "babel-plugin-syntax-export-extensions@6.13.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
|
||||
"_location": "/babel-plugin-syntax-export-extensions",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "babel-plugin-syntax-export-extensions@^6.8.0",
|
||||
"name": "babel-plugin-syntax-export-extensions",
|
||||
"escapedName": "babel-plugin-syntax-export-extensions",
|
||||
"rawSpec": "^6.8.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^6.8.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/babel-plugin-transform-export-extensions"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
|
||||
"_shasum": "70a1484f0f9089a4e84ad44bac353c95b9b12721",
|
||||
"_spec": "babel-plugin-syntax-export-extensions@^6.8.0",
|
||||
"_where": "/home/bilal/Saburly/slucajna-televizija/web/node_modules/babel-plugin-transform-export-extensions",
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Allow parsing of export extensions",
|
||||
"devDependencies": {},
|
||||
"keywords": [
|
||||
"babel-plugin"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/index.js",
|
||||
"name": "babel-plugin-syntax-export-extensions",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-export-extensions"
|
||||
},
|
||||
"version": "6.13.0"
|
||||
}
|
||||
4
web/node_modules/babel-plugin-transform-async-generator-functions/.npmignore
generated
vendored
Normal file
4
web/node_modules/babel-plugin-transform-async-generator-functions/.npmignore
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
node_modules
|
||||
*.log
|
||||
src
|
||||
test
|
||||
107
web/node_modules/babel-plugin-transform-async-generator-functions/README.md
generated
vendored
Normal file
107
web/node_modules/babel-plugin-transform-async-generator-functions/README.md
generated
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
# babel-plugin-transform-async-generator-functions
|
||||
|
||||
> Turn async generator functions and for-await statements to ES2015 generators
|
||||
|
||||
## Example
|
||||
|
||||
**In**
|
||||
|
||||
```javascript
|
||||
async function* agf() {
|
||||
await 1;
|
||||
yield 2;
|
||||
}
|
||||
```
|
||||
|
||||
**Out**
|
||||
|
||||
```javascript
|
||||
var _asyncGenerator = ...
|
||||
|
||||
let agf = (() => {
|
||||
var _ref = _asyncGenerator.wrap(function* () {
|
||||
yield _asyncGenerator.await(1);
|
||||
yield 2;
|
||||
});
|
||||
|
||||
return function agf() {
|
||||
return _ref.apply(this, arguments);
|
||||
};
|
||||
})();
|
||||
```
|
||||
|
||||
For await example
|
||||
|
||||
```js
|
||||
async function f() {
|
||||
for await (let x of y) {
|
||||
g(x);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Example Usage**
|
||||
|
||||
```js
|
||||
async function* genAnswers() {
|
||||
var stream = [ Promise.resolve(4), Promise.resolve(9), Promise.resolve(12) ];
|
||||
var total = 0;
|
||||
for await (let val of stream) {
|
||||
total += await val;
|
||||
yield total;
|
||||
}
|
||||
}
|
||||
|
||||
function forEach(ai, fn) {
|
||||
return ai.next().then(function (r) {
|
||||
if (!r.done) {
|
||||
fn(r);
|
||||
return forEach(ai, fn);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var output = 0;
|
||||
forEach(genAnswers(), function(val) { output += val.value })
|
||||
.then(function () {
|
||||
console.log(output); // 42
|
||||
});
|
||||
```
|
||||
|
||||
[Try it Out in the REPL](https://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=stage-3&code=async%20function*%20genAnswers()%20%7B%0A%20%20var%20stream%20%3D%20%5B%20Promise.resolve(4)%2C%20Promise.resolve(9)%2C%20Promise.resolve(12)%20%5D%3B%0A%20%20var%20total%20%3D%200%3B%0A%20%20for%20await%20(let%20val%20of%20stream)%20%7B%0A%20%20%20%20total%20%2B%3D%20await%20val%3B%0A%20%20%20%20yield%20total%3B%0A%20%20%7D%0A%7D%0A%0Afunction%20forEach(ai%2C%20fn)%20%7B%0A%20%20return%20ai.next().then(function%20(r)%20%7B%0A%20%20%20%20if%20(!r.done)%20%7B%0A%20%20%20%20%20%20fn(r)%3B%0A%20%20%20%20%20%20return%20forEach(ai%2C%20fn)%3B%0A%20%20%20%20%7D%0A%20%20%7D)%3B%0A%7D%0A%0Avar%20output%20%3D%200%3B%0AforEach(genAnswers()%2C%20function(val)%20%7B%20output%20%2B%3D%20val.value%20%7D)%0A.then(function%20()%20%7B%0A%20%20console.log(output)%3B%20%2F%2F%2042%0A%7D)%3B&experimental=true&loose=false&spec=false&playground=true&stage=0)
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
npm install --save-dev babel-plugin-transform-async-generator-functions
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Via `.babelrc` (Recommended)
|
||||
|
||||
**.babelrc**
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins": ["transform-async-generator-functions"]
|
||||
}
|
||||
```
|
||||
|
||||
### Via CLI
|
||||
|
||||
```sh
|
||||
babel --plugins transform-async-generator-functions script.js
|
||||
```
|
||||
|
||||
### Via Node API
|
||||
|
||||
```javascript
|
||||
require("babel-core").transform("code", {
|
||||
plugins: ["transform-async-generator-functions"]
|
||||
});
|
||||
```
|
||||
|
||||
## References
|
||||
|
||||
* [Proposal: Asynchronous iteration for ECMAScript](https://github.com/tc39/proposal-async-iteration)
|
||||
44
web/node_modules/babel-plugin-transform-async-generator-functions/lib/index.js
generated
vendored
Normal file
44
web/node_modules/babel-plugin-transform-async-generator-functions/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
|
||||
exports.default = function (_ref) {
|
||||
var t = _ref.types;
|
||||
|
||||
var yieldStarVisitor = {
|
||||
Function: function Function(path) {
|
||||
path.skip();
|
||||
},
|
||||
YieldExpression: function YieldExpression(_ref2, state) {
|
||||
var node = _ref2.node;
|
||||
|
||||
if (!node.delegate) return;
|
||||
var callee = state.addHelper("asyncGeneratorDelegate");
|
||||
node.argument = t.callExpression(callee, [t.callExpression(state.addHelper("asyncIterator"), [node.argument]), t.memberExpression(state.addHelper("asyncGenerator"), t.identifier("await"))]);
|
||||
}
|
||||
};
|
||||
|
||||
return {
|
||||
inherits: require("babel-plugin-syntax-async-generators"),
|
||||
visitor: {
|
||||
Function: function Function(path, state) {
|
||||
if (!path.node.async || !path.node.generator) return;
|
||||
|
||||
path.traverse(yieldStarVisitor, state);
|
||||
|
||||
(0, _babelHelperRemapAsyncToGenerator2.default)(path, state.file, {
|
||||
wrapAsync: t.memberExpression(state.addHelper("asyncGenerator"), t.identifier("wrap")),
|
||||
wrapAwait: t.memberExpression(state.addHelper("asyncGenerator"), t.identifier("await"))
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
var _babelHelperRemapAsyncToGenerator = require("babel-helper-remap-async-to-generator");
|
||||
|
||||
var _babelHelperRemapAsyncToGenerator2 = _interopRequireDefault(_babelHelperRemapAsyncToGenerator);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
module.exports = exports["default"];
|
||||
47
web/node_modules/babel-plugin-transform-async-generator-functions/package.json
generated
vendored
Normal file
47
web/node_modules/babel-plugin-transform-async-generator-functions/package.json
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"_from": "babel-plugin-transform-async-generator-functions@^6.24.1",
|
||||
"_id": "babel-plugin-transform-async-generator-functions@6.24.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
|
||||
"_location": "/babel-plugin-transform-async-generator-functions",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "babel-plugin-transform-async-generator-functions@^6.24.1",
|
||||
"name": "babel-plugin-transform-async-generator-functions",
|
||||
"escapedName": "babel-plugin-transform-async-generator-functions",
|
||||
"rawSpec": "^6.24.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^6.24.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/babel-preset-stage-3"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
|
||||
"_shasum": "f058900145fd3e9907a6ddf28da59f215258a5db",
|
||||
"_spec": "babel-plugin-transform-async-generator-functions@^6.24.1",
|
||||
"_where": "/home/bilal/Saburly/slucajna-televizija/web/node_modules/babel-preset-stage-3",
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"babel-helper-remap-async-to-generator": "^6.24.1",
|
||||
"babel-plugin-syntax-async-generators": "^6.5.0",
|
||||
"babel-runtime": "^6.22.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Turn async generator functions into ES2015 generators",
|
||||
"devDependencies": {
|
||||
"babel-helper-plugin-test-runner": "^6.24.1"
|
||||
},
|
||||
"keywords": [
|
||||
"babel-plugin"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/index.js",
|
||||
"name": "babel-plugin-transform-async-generator-functions",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-generator-functions"
|
||||
},
|
||||
"version": "6.24.1"
|
||||
}
|
||||
4
web/node_modules/babel-plugin-transform-class-constructor-call/.npmignore
generated
vendored
Normal file
4
web/node_modules/babel-plugin-transform-class-constructor-call/.npmignore
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
node_modules
|
||||
*.log
|
||||
src
|
||||
test
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user