Guest User

Untitled

a guest
Nov 18th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. (function (window) {
  2.  
  3. var lastModule;
  4.  
  5. // configFn for all patterns that match an AMD-like module
  6. // For now, only modules starting with ./ or ../ are recognized as being AMD-like
  7. // Support for regular expressions in the patterns configuration was requested in ticket #2531324
  8. // In the future the goal is to filter everything that looks like a file
  9. // Any other AMD module must be declared in the "modules" config like any other module
  10. function defConfigFn(config) {
  11. config.fullpath = config.name;
  12. }
  13.  
  14. function registerModule(name, dependencies, module) {
  15. YUI.add(name, function (Y) {
  16. /*
  17. * Object modules get mixed into the Y instance for a more YUI-like experience
  18. * The rest is stored in a property with the same name as the module's
  19. */
  20. if (typeof module === 'object') {
  21. Y.mix(Y, module, true);
  22. } else {
  23. Y[name] = module;
  24. }
  25. // dependencies should be declared beforehand or handled by the Loader, not by this script
  26. }, '', { requires: dependencies });
  27. }
  28.  
  29. YUI.GlobalConfig = {
  30. groups: {
  31. amd: {
  32. patterns: {
  33. './': {
  34. configFn: defConfigFn
  35. },
  36. '../': {
  37. configFn: defConfigFn
  38. }
  39. }
  40. },
  41. text: {
  42. //patterns:
  43. }
  44. },
  45. onProgress: function (e) {
  46. if (lastModule) {
  47. registerModule(e.name, lastModule.deps, lastModule.mod);
  48. lastModule = null;
  49. }
  50. }
  51. };
  52.  
  53. window.define = function define(name, dependencies, module) {
  54. if (arguments.length === 1) {
  55. module = name;
  56. dependencies = [];
  57. name = '';
  58. } else if (arguments.length === 2) {
  59. module = dependencies;
  60. if (typeof name === 'string') {
  61. dependencies = [];
  62. } else {
  63. dependencies = name;
  64. name = '';
  65. }
  66. }
  67. if (typeof module === 'function') {
  68. module = module();
  69. }
  70. // store unnamed modules and register them later
  71. if (name !== '') {
  72. registerModule(name, dependencies, module);
  73. } else if (lastModule) {
  74. throw new Error('Multiple anonymous defines found');
  75. } else {
  76. lastModule = {
  77. deps: dependencies,
  78. mod: module
  79. };
  80. }
  81. }
  82. window.define.amd = {'jQuery' : true};
  83.  
  84. }(this));
  85.  
  86. YUI({
  87. modules: {
  88. jquery: {
  89. fullpath: './js/jquery.js'
  90. }
  91. }}).use('jquery', function(Y) {
  92. console.log(Y);
  93. });
Add Comment
Please, Sign In to add comment