Guest User

Untitled

a guest
Mar 23rd, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. function classy1(key){
  2. validateKey()
  3.  
  4. function validateKey(){
  5. console.log("validated: " + key)
  6. }
  7.  
  8. function helperMethod(){
  9. console.log("helped")
  10. }
  11.  
  12. function setup(options){
  13. if (typeof options === 'object') {
  14. if(!options.projectID || typeof options.projectID === 'string'){
  15. var project = this.Project(options.projectID);
  16.  
  17. if (!options.datasetID || typeof options.datasetID === 'string') {
  18. var dataset = project.Dataset(options.datasetID);
  19.  
  20. if (!options.tableID || typeof options.tableID === 'string'){
  21. var table = dataset.Table(options.tableID);
  22. dataset.table = table;
  23. }
  24. project.dataset = dataset;
  25. }
  26. }
  27. }
  28. return project;
  29. }
  30.  
  31. function Project(projectID){
  32. var project = {};
  33. project.Dataset= function(datasetID) {
  34.  
  35. var dataset = {};
  36. dataset.Table = function(tableID) {
  37.  
  38. var table = {};
  39. console.log(projectID+" "+datasetID+" "+ tableID);
  40. table.up = function (msg) {
  41. helperMethod()
  42. console.log(key + " and " + msg + ' in up')
  43. }
  44.  
  45.  
  46.  
  47. return table;
  48. }
  49. return dataset;
  50. }
  51. return project;
  52. }
  53.  
  54.  
  55. function dump(){
  56. helperMethod()
  57. console.log(key)
  58. }
  59.  
  60. return {
  61. Project,
  62. dump,
  63. setup
  64. }
  65. }
  66.  
  67. classy1("metalKey").Project('ProjectID').Dataset('DatasetID').Table('tab').up('GREAT');
  68. var setupOptions = {
  69. projectID: 'projectID_1',
  70. datasetID: 'datasetID_1'
  71. };
  72. var p = classy1('TesterKey').setup(setupOptions);
  73. console.log(p);
  74. p.dataset.table.up('HI');
Add Comment
Please, Sign In to add comment