mushy 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4983e312423619f6384adcf954591ebc267020291d05ded5ac5b4f4c3a5e66f5
4
- data.tar.gz: ff7265cafa27a7ef94be0e4c99c7e7be0f46448a32efc5b66fa4e6c25739378e
3
+ metadata.gz: 1a4d1e2d7740622ef1ddc7aaa6dc7bcfb64f1e7e7d5cedd2451f78d601a085f8
4
+ data.tar.gz: 5facf81ef9fd26d5ba649739e65cb6017de9afe192d5830279a397716cb93b78
5
5
  SHA512:
6
- metadata.gz: 6490c4b94d2de183f948ca3cdf70f30e7000ed191b061f427aba15e367c665428cb3aac9af4a95b892c1de01672bef1709e47a48bda41b4391864f2a0af6c35f
7
- data.tar.gz: 53b0e05775e441c657711106858fc38a03709ffc36a0bd5430301c2a067aa785d931439f2e2d3d9b46a267d02e841afcbb5128800bbf77ff6dd54bd51a97cbd2
6
+ metadata.gz: e7751abc81f9d8f9db91c3cf612901066be0132b07694182cdaf480318df619fe52276974678aee03bc1a1257323c09379ddc9e19838aa6a37752a992d189955
7
+ data.tar.gz: dc1b0a45620512cee1dfffb208c44ddef18ea92581ea1188f4c0df2967093f5c1ca21efb67fc92bc17a357a0ecfeb6789e35e8e0609e636b350acc257c2fc3e3
data/bin/mushy CHANGED
@@ -1,3 +1,83 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- puts 'mushy'
3
+ require 'thor'
4
+ require 'mushy'
5
+
6
+ class RailsCLI < Thor
7
+
8
+ desc "start FILE", "Run this workflow file."
9
+ def start file
10
+ content = File.open(file).read
11
+ puts content
12
+ end
13
+
14
+ desc "build FILE", 'Build a flow.'
15
+ def build file
16
+
17
+ RailsCLI.set_special( { method: 'build', file: file } )
18
+
19
+ end
20
+
21
+ def self.set_special data
22
+ @special = data
23
+ end
24
+
25
+ def self.get_special
26
+ @special
27
+ end
28
+
29
+ end
30
+
31
+ RailsCLI.start(ARGV)
32
+
33
+ exit unless RailsCLI.get_special
34
+
35
+ require 'sinatra'
36
+ enable :run
37
+
38
+ the_file = RailsCLI.get_special[:file]
39
+
40
+ get '/' do
41
+ Mushy::Builder::Index.file
42
+ end
43
+
44
+ get '/dark.css' do
45
+ content_type :css
46
+ Mushy::Builder::Dark.file
47
+ end
48
+
49
+ get '/axios.js' do
50
+ content_type :js
51
+ Mushy::Builder::Axios.file
52
+ end
53
+
54
+ get '/vue.js' do
55
+ content_type :js
56
+ Mushy::Builder::Vue.file
57
+ end
58
+
59
+ get '/flow' do
60
+ content_type :json
61
+ Mushy::Builder::Api.get_flow(the_file).to_json
62
+ end
63
+
64
+ get '/fluxs' do
65
+ content_type :json
66
+ Mushy::Builder::Api.get_fluxs.to_json
67
+ end
68
+
69
+ post '/run' do
70
+ content_type :json
71
+
72
+ result = Mushy::Builder::Api.run request.body.read
73
+
74
+ { result: result }.to_json
75
+ end
76
+
77
+ post '/save' do
78
+ content_type :json
79
+
80
+ result = Mushy::Builder::Api.save the_file, request.body.read
81
+
82
+ { result: result }.to_json
83
+ end
@@ -8,6 +8,8 @@ Dir[File.dirname(__FILE__) + '/mushy/fluxs/*.rb']
8
8
  .sort_by { |f| important_flux_files.any? { |x| f.end_with?(x) } ? 0 : 1 }
9
9
  .each { |f| require f }
10
10
 
11
+ Dir[File.dirname(__FILE__) + '/mushy/builder/*.rb'].each { |f| require f }
12
+
11
13
  module Mushy
12
14
  def self.hi
13
15
  puts 'hello'
@@ -0,0 +1,71 @@
1
+ module Mushy
2
+
3
+ module Builder
4
+
5
+ module Api
6
+
7
+ def self.run data
8
+
9
+ data = SymbolizedHash.new JSON.parse(data)
10
+
11
+ event = SymbolizedHash.new JSON.parse(data[:setup][:event].to_json)
12
+
13
+ config = SymbolizedHash.new data[:config]
14
+
15
+ flux = Mushy::Flow.build_flux( { type: data[:setup][:flux], config: config } )
16
+
17
+ result = flux.execute event
18
+
19
+ [result].flatten
20
+ end
21
+
22
+ def self.save file, data
23
+
24
+ file = "#{file}.json" unless file.downcase.end_with?('.json')
25
+
26
+ data = SymbolizedHash.new JSON.parse(data)
27
+ Mushy::WriteFile.new.process( {}, { name: file, data: data.to_json })
28
+
29
+ end
30
+
31
+ def self.get_flow file
32
+ puts "trying to get: #{file}"
33
+ file = "#{file}.json" unless file.downcase.end_with?('.json')
34
+ JSON.parse File.open(file).read
35
+ rescue
36
+ { fluxs: [] }
37
+ end
38
+
39
+ def self.get_fluxs
40
+ {
41
+ fluxs: Mushy::Flux.all.select { |x| x.respond_to? :details }.map do |flux|
42
+ details = flux.details
43
+ details[:config][:incoming_split] = { type: 'text', description: 'Split an incoming event into multiple events by this key, an each event will be processed independently.', default: '' }
44
+ details[:config][:outgoing_split] = { type: 'text', description: 'Split an outgoing event into multiple events by this key.', default: '' }
45
+ details[:config][:merge] = { type: 'text', description: 'A comma-delimited list of fields from the event to carry through. Use * to merge all fields.', default: '' }
46
+ details[:config][:group] = { type: 'text', description: 'Group events by a field, which is stored in a key. The format is group_by|group_key.', default: '' }
47
+ details[:config][:limit] = { type: 'integer', description: 'Limit the number of events to this number.', default: '' }
48
+ details[:config][:join] = { type: 'text', description: 'Join all of the events from this flux into one event, under this name.', default: '' }
49
+ details[:config][:sort] = { type: 'text', description: 'Sort by this key.', default: '' }
50
+ details[:config][:model] = { type: 'keyvalue', description: 'Reshape the outgoing events.', value: {}, default: {} }
51
+
52
+ details[:config]
53
+ .select { |_, v| v[:type] == 'keyvalue' }
54
+ .select { |_, v| v[:editors].nil? }
55
+ .each do |_, v|
56
+ v[:editors] = [
57
+ { id: 'new_key', target: 'key', field: { type: 'text', value: '', default: '' } },
58
+ { id: 'new_value', target: 'value', field: { type: 'text', value: '', default: '' } }
59
+ ]
60
+ end
61
+
62
+ details
63
+ end
64
+ }
65
+ end
66
+
67
+ end
68
+
69
+ end
70
+
71
+ end
@@ -0,0 +1,15 @@
1
+ module Mushy
2
+ module Builder
3
+ module Axios
4
+ def self.file
5
+
6
+ <<-ENDEND
7
+ /* axios v0.21.1 | (c) 2020 by Matt Zabriskie */
8
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new i(e),n=s(i.prototype.request,t);return o.extend(n,i.prototype,t),o.extend(n,t),n}var o=n(2),s=n(3),i=n(4),a=n(22),u=n(10),c=r(u);c.Axios=i,c.create=function(e){return r(a(c.defaults,e))},c.Cancel=n(23),c.CancelToken=n(24),c.isCancel=n(9),c.all=function(e){return Promise.all(e)},c.spread=n(25),c.isAxiosError=n(26),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){return"[object Array]"===R.call(e)}function o(e){return"undefined"==typeof e}function s(e){return null!==e&&!o(e)&&null!==e.constructor&&!o(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function i(e){return"[object ArrayBuffer]"===R.call(e)}function a(e){return"undefined"!=typeof FormData&&e instanceof FormData}function u(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function c(e){return"string"==typeof e}function f(e){return"number"==typeof e}function p(e){return null!==e&&"object"==typeof e}function d(e){if("[object Object]"!==R.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function l(e){return"[object Date]"===R.call(e)}function h(e){return"[object File]"===R.call(e)}function m(e){return"[object Blob]"===R.call(e)}function y(e){return"[object Function]"===R.call(e)}function g(e){return p(e)&&y(e.pipe)}function v(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function x(e){return e.replace(/^\\s*/,"").replace(/\\s*$/,"")}function w(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function b(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.call(null,e[s],s,e)}function E(){function e(e,n){d(t[n])&&d(e)?t[n]=E(t[n],e):d(e)?t[n]=E({},e):r(e)?t[n]=e.slice():t[n]=e}for(var t={},n=0,o=arguments.length;n<o;n++)b(arguments[n],e);return t}function j(e,t,n){return b(t,function(t,r){n&&"function"==typeof t?e[r]=S(t,n):e[r]=t}),e}function C(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}var S=n(3),R=Object.prototype.toString;e.exports={isArray:r,isArrayBuffer:i,isBuffer:s,isFormData:a,isArrayBufferView:u,isString:c,isNumber:f,isObject:p,isPlainObject:d,isUndefined:o,isDate:l,isFile:h,isBlob:m,isFunction:y,isStream:g,isURLSearchParams:v,isStandardBrowserEnv:w,forEach:b,merge:E,extend:j,trim:x,stripBOM:C}},function(e,t){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new i,response:new i}}var o=n(2),s=n(5),i=n(6),a=n(7),u=n(22);r.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=u(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[a,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},r.prototype.getUri=function(e){return e=u(this.defaults,e),s(e.url,e.params,e.paramsSerializer).replace(/^\\?/,"")},o.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(u(n||{},{method:e,url:t,data:(n||{}).data}))}}),o.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(u(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var s;if(n)s=n(t);else if(o.isURLSearchParams(t))s=t.toString();else{var i=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),i.push(r(t)+"="+r(e))}))}),s=i.join("&")}if(s){var a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}},function(e,t,n){"use strict";function r(){this.handlers=[]}var o=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=n(2),s=n(8),i=n(9),a=n(10);e.exports=function(e){r(e),e.headers=e.headers||{},e.data=s(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=e.adapter||a.adapter;return t(e).then(function(t){return r(e),t.data=s(t.data,t.headers,e.transformResponse),t},function(t){return i(t)||(r(e),t&&t.response&&(t.response.data=s(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,n){"use strict";function r(e,t){!s.isUndefined(e)&&s.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(12):"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process)&&(e=n(12)),e}var s=n(2),i=n(11),a={"Content-Type":"application/x-www-form-urlencoded"},u={adapter:o(),transformRequest:[function(e,t){return i(t,"Accept"),i(t,"Content-Type"),s.isFormData(e)||s.isArrayBuffer(e)||s.isBuffer(e)||s.isStream(e)||s.isFile(e)||s.isBlob(e)?e:s.isArrayBufferView(e)?e.buffer:s.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):s.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},s.forEach(["delete","get","head"],function(e){u.headers[e]={}}),s.forEach(["post","put","patch"],function(e){u.headers[e]=s.merge(a)}),e.exports=u},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),o=n(13),s=n(16),i=n(5),a=n(17),u=n(20),c=n(21),f=n(14);e.exports=function(e){return new Promise(function(t,n){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";d.Authorization="Basic "+btoa(h+":"+m)}var y=a(e.baseURL,e.url);if(l.open(e.method.toUpperCase(),i(y,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l.onreadystatechange=function(){if(l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in l?u(l.getAllResponseHeaders()):null,s=e.responseType&&"text"!==e.responseType?l.response:l.responseText,i={data:s,status:l.status,statusText:l.statusText,headers:r,config:e,request:l};o(t,n,i),l=null}},l.onabort=function(){l&&(n(f("Request aborted",e,"ECONNABORTED",l)),l=null)},l.onerror=function(){n(f("Network Error",e,null,l)),l=null},l.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(f(t,e,"ECONNABORTED",l)),l=null},r.isStandardBrowserEnv()){var g=(e.withCredentials||c(y))&&e.xsrfCookieName?s.read(e.xsrfCookieName):void 0;g&&(d[e.xsrfHeaderName]=g)}if("setRequestHeader"in l&&r.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),r.isUndefined(e.withCredentials)||(l.withCredentials=!!e.withCredentials),e.responseType)try{l.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){l&&(l.abort(),n(e),l=null)}),p||(p=null),l.send(p)})}},function(e,t,n){"use strict";var r=n(14);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(15);e.exports=function(e,t,n,o,s){var i=new Error(e);return r(i,t,n,o,s)}},function(e,t){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,s,i){var a=[];a.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),r.isString(o)&&a.push("path="+o),r.isString(s)&&a.push("domain="+s),i===!0&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";var r=n(18),o=n(19);e.exports=function(e,t){return e&&!r(t)?o(e,t):t}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\\/+$/,"")+"/"+t.replace(/^\\/+/,""):e}},function(e,t,n){"use strict";var r=n(2),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,s,i={};return e?(r.forEach(e.split("\\n"),function(e){if(s=e.indexOf(":"),t=r.trim(e.substr(0,s)).toLowerCase(),n=r.trim(e.substr(s+1)),t){if(i[t]&&o.indexOf(t)>=0)return;"set-cookie"===t?i[t]=(i[t]?i[t]:[]).concat([n]):i[t]=i[t]?i[t]+", "+n:n}}),i):i}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){function n(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function o(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(s[o]=n(void 0,e[o])):s[o]=n(e[o],t[o])}t=t||{};var s={},i=["url","method","data"],a=["headers","auth","proxy","params"],u=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],c=["validateStatus"];r.forEach(i,function(e){r.isUndefined(t[e])||(s[e]=n(void 0,t[e]))}),r.forEach(a,o),r.forEach(u,function(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(s[o]=n(void 0,e[o])):s[o]=n(void 0,t[o])}),r.forEach(c,function(r){r in t?s[r]=n(e[r],t[r]):r in e&&(s[r]=n(void 0,e[r]))});var f=i.concat(a).concat(u).concat(c),p=Object.keys(e).concat(Object.keys(t)).filter(function(e){return f.indexOf(e)===-1});return r.forEach(p,o),s}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t){"use strict";e.exports=function(e){return"object"==typeof e&&e.isAxiosError===!0}}])});
9
+ //# sourceMappingURL=axios.min.map
10
+ ENDEND
11
+
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,812 @@
1
+ module Mushy
2
+ module Builder
3
+ module Dark
4
+ def self.file
5
+
6
+ <<-ENDEND
7
+ /**
8
+ * Forced dark theme version
9
+ */
10
+
11
+ :root {
12
+ --background-body: #202b38;
13
+ --background: #161f27;
14
+ --background-alt: #1a242f;
15
+ --selection: #1c76c5;
16
+ --text-main: #dbdbdb;
17
+ --text-bright: #fff;
18
+ --text-muted: #a9b1ba;
19
+ --links: #41adff;
20
+ --focus: #0096bfab;
21
+ --border: #526980;
22
+ --code: #ffbe85;
23
+ --animation-duration: 0.1s;
24
+ --button-hover: #324759;
25
+ --scrollbar-thumb: var(--button-hover);
26
+ --scrollbar-thumb-hover: rgb(65, 92, 115);
27
+ --form-placeholder: #a9a9a9;
28
+ --form-text: #fff;
29
+ --variable: #d941e2;
30
+ --highlight: #efdb43;
31
+ --select-arrow: url("data:image/svg+xml;charset=utf-8,%3C?xml version='1.0' encoding='utf-8'?%3E %3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' height='62.5' width='116.9' fill='%23efefef'%3E %3Cpath d='M115.3,1.6 C113.7,0 111.1,0 109.5,1.6 L58.5,52.7 L7.4,1.6 C5.8,0 3.2,0 1.6,1.6 C0,3.2 0,5.8 1.6,7.4 L55.5,61.3 C56.3,62.1 57.3,62.5 58.4,62.5 C59.4,62.5 60.5,62.1 61.3,61.3 L115.2,7.4 C116.9,5.8 116.9,3.2 115.3,1.6Z'/%3E %3C/svg%3E");
32
+ }
33
+
34
+ html {
35
+ scrollbar-color: #324759 #202b38;
36
+ scrollbar-color: var(--scrollbar-thumb) var(--background-body);
37
+ scrollbar-width: thin;
38
+ }
39
+
40
+ body {
41
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif;
42
+ line-height: 1.4;
43
+ max-width: 800px;
44
+ margin: 20px auto;
45
+ padding: 0 10px;
46
+ word-wrap: break-word;
47
+ color: #dbdbdb;
48
+ color: var(--text-main);
49
+ background: #202b38;
50
+ background: var(--background-body);
51
+ text-rendering: optimizeLegibility;
52
+ }
53
+
54
+ button {
55
+ transition:
56
+ background-color 0.1s linear,
57
+ border-color 0.1s linear,
58
+ color 0.1s linear,
59
+ box-shadow 0.1s linear,
60
+ transform 0.1s ease;
61
+ transition:
62
+ background-color var(--animation-duration) linear,
63
+ border-color var(--animation-duration) linear,
64
+ color var(--animation-duration) linear,
65
+ box-shadow var(--animation-duration) linear,
66
+ transform var(--animation-duration) ease;
67
+ }
68
+
69
+ input {
70
+ transition:
71
+ background-color 0.1s linear,
72
+ border-color 0.1s linear,
73
+ color 0.1s linear,
74
+ box-shadow 0.1s linear,
75
+ transform 0.1s ease;
76
+ transition:
77
+ background-color var(--animation-duration) linear,
78
+ border-color var(--animation-duration) linear,
79
+ color var(--animation-duration) linear,
80
+ box-shadow var(--animation-duration) linear,
81
+ transform var(--animation-duration) ease;
82
+ }
83
+
84
+ textarea {
85
+ transition:
86
+ background-color 0.1s linear,
87
+ border-color 0.1s linear,
88
+ color 0.1s linear,
89
+ box-shadow 0.1s linear,
90
+ transform 0.1s ease;
91
+ transition:
92
+ background-color var(--animation-duration) linear,
93
+ border-color var(--animation-duration) linear,
94
+ color var(--animation-duration) linear,
95
+ box-shadow var(--animation-duration) linear,
96
+ transform var(--animation-duration) ease;
97
+ }
98
+
99
+ h1 {
100
+ font-size: 2.2em;
101
+ margin-top: 0;
102
+ }
103
+
104
+ h1,
105
+ h2,
106
+ h3,
107
+ h4,
108
+ h5,
109
+ h6 {
110
+ margin-bottom: 12px;
111
+ margin-top: 24px;
112
+ }
113
+
114
+ h1 {
115
+ color: #fff;
116
+ color: var(--text-bright);
117
+ }
118
+
119
+ h2 {
120
+ color: #fff;
121
+ color: var(--text-bright);
122
+ }
123
+
124
+ h3 {
125
+ color: #fff;
126
+ color: var(--text-bright);
127
+ }
128
+
129
+ h4 {
130
+ color: #fff;
131
+ color: var(--text-bright);
132
+ }
133
+
134
+ h5 {
135
+ color: #fff;
136
+ color: var(--text-bright);
137
+ }
138
+
139
+ h6 {
140
+ color: #fff;
141
+ color: var(--text-bright);
142
+ }
143
+
144
+ strong {
145
+ color: #fff;
146
+ color: var(--text-bright);
147
+ }
148
+
149
+ h1,
150
+ h2,
151
+ h3,
152
+ h4,
153
+ h5,
154
+ h6,
155
+ b,
156
+ strong,
157
+ th {
158
+ font-weight: 600;
159
+ }
160
+
161
+ q::before {
162
+ content: none;
163
+ }
164
+
165
+ q::after {
166
+ content: none;
167
+ }
168
+
169
+ blockquote {
170
+ border-left: 4px solid #0096bfab;
171
+ border-left: 4px solid var(--focus);
172
+ margin: 1.5em 0;
173
+ padding: 0.5em 1em;
174
+ font-style: italic;
175
+ }
176
+
177
+ q {
178
+ border-left: 4px solid #0096bfab;
179
+ border-left: 4px solid var(--focus);
180
+ margin: 1.5em 0;
181
+ padding: 0.5em 1em;
182
+ font-style: italic;
183
+ }
184
+
185
+ blockquote > footer {
186
+ font-style: normal;
187
+ border: 0;
188
+ }
189
+
190
+ blockquote cite {
191
+ font-style: normal;
192
+ }
193
+
194
+ address {
195
+ font-style: normal;
196
+ }
197
+
198
+ a[href^='mailto\\:']::before {
199
+ content: '📧 ';
200
+ }
201
+
202
+ a[href^='tel\\:']::before {
203
+ content: '📞 ';
204
+ }
205
+
206
+ a[href^='sms\\:']::before {
207
+ content: '💬 ';
208
+ }
209
+
210
+ mark {
211
+ background-color: #efdb43;
212
+ background-color: var(--highlight);
213
+ border-radius: 2px;
214
+ padding: 0 2px 0 2px;
215
+ color: #000;
216
+ }
217
+
218
+ button,
219
+ select,
220
+ input[type='submit'],
221
+ input[type='button'],
222
+ input[type='checkbox'],
223
+ input[type='range'],
224
+ input[type='radio'] {
225
+ cursor: pointer;
226
+ }
227
+
228
+ input:not([type='checkbox']):not([type='radio']),
229
+ select {
230
+ display: block;
231
+ }
232
+
233
+ input {
234
+ color: #fff;
235
+ color: var(--form-text);
236
+ background-color: #161f27;
237
+ background-color: var(--background);
238
+ font-family: inherit;
239
+ font-size: inherit;
240
+ margin-right: 6px;
241
+ margin-bottom: 6px;
242
+ padding: 10px;
243
+ border: none;
244
+ border-radius: 6px;
245
+ outline: none;
246
+ }
247
+
248
+ button {
249
+ color: #fff;
250
+ color: var(--form-text);
251
+ background-color: #161f27;
252
+ background-color: var(--background);
253
+ font-family: inherit;
254
+ font-size: inherit;
255
+ margin-right: 6px;
256
+ margin-bottom: 6px;
257
+ padding: 10px;
258
+ border: none;
259
+ border-radius: 6px;
260
+ outline: none;
261
+ }
262
+
263
+ textarea {
264
+ color: #fff;
265
+ color: var(--form-text);
266
+ background-color: #161f27;
267
+ background-color: var(--background);
268
+ font-family: inherit;
269
+ font-size: inherit;
270
+ margin-right: 6px;
271
+ margin-bottom: 6px;
272
+ padding: 10px;
273
+ border: none;
274
+ border-radius: 6px;
275
+ outline: none;
276
+ }
277
+
278
+ select {
279
+ color: #fff;
280
+ color: var(--form-text);
281
+ background-color: #161f27;
282
+ background-color: var(--background);
283
+ font-family: inherit;
284
+ font-size: inherit;
285
+ margin-right: 6px;
286
+ margin-bottom: 6px;
287
+ padding: 10px;
288
+ border: none;
289
+ border-radius: 6px;
290
+ outline: none;
291
+ }
292
+
293
+ input[type='checkbox'],
294
+ input[type='radio'] {
295
+ height: 1em;
296
+ width: 1em;
297
+ }
298
+
299
+ input[type='radio'] {
300
+ border-radius: 100%;
301
+ }
302
+
303
+ input {
304
+ vertical-align: top;
305
+ }
306
+
307
+ label {
308
+ vertical-align: middle;
309
+ margin-bottom: 4px;
310
+ display: inline-block;
311
+ }
312
+
313
+ input:not([type='checkbox']):not([type='radio']),
314
+ input[type='range'],
315
+ select,
316
+ button,
317
+ textarea {
318
+ -webkit-appearance: none;
319
+ }
320
+
321
+ textarea {
322
+ display: block;
323
+ margin-right: 0;
324
+ box-sizing: border-box;
325
+ resize: vertical;
326
+ }
327
+
328
+ textarea:not([cols]) {
329
+ width: 100%;
330
+ }
331
+
332
+ textarea:not([rows]) {
333
+ min-height: 40px;
334
+ height: 140px;
335
+ }
336
+
337
+ select {
338
+ background: #161f27 url("data:image/svg+xml;charset=utf-8,%3C?xml version='1.0' encoding='utf-8'?%3E %3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' height='62.5' width='116.9' fill='%23efefef'%3E %3Cpath d='M115.3,1.6 C113.7,0 111.1,0 109.5,1.6 L58.5,52.7 L7.4,1.6 C5.8,0 3.2,0 1.6,1.6 C0,3.2 0,5.8 1.6,7.4 L55.5,61.3 C56.3,62.1 57.3,62.5 58.4,62.5 C59.4,62.5 60.5,62.1 61.3,61.3 L115.2,7.4 C116.9,5.8 116.9,3.2 115.3,1.6Z'/%3E %3C/svg%3E") calc(100% - 12px) 50% / 12px no-repeat;
339
+ background: var(--background) var(--select-arrow) calc(100% - 12px) 50% / 12px no-repeat;
340
+ padding-right: 35px;
341
+ }
342
+
343
+ select::-ms-expand {
344
+ display: none;
345
+ }
346
+
347
+ select[multiple] {
348
+ padding-right: 10px;
349
+ background-image: none;
350
+ overflow-y: auto;
351
+ }
352
+
353
+ button,
354
+ input[type='submit'],
355
+ input[type='button'] {
356
+ padding-right: 30px;
357
+ padding-left: 30px;
358
+ }
359
+
360
+ button:hover {
361
+ background: #324759;
362
+ background: var(--button-hover);
363
+ }
364
+
365
+ input[type='submit']:hover {
366
+ background: #324759;
367
+ background: var(--button-hover);
368
+ }
369
+
370
+ input[type='button']:hover {
371
+ background: #324759;
372
+ background: var(--button-hover);
373
+ }
374
+
375
+ input:focus {
376
+ box-shadow: 0 0 0 2px #0096bfab;
377
+ box-shadow: 0 0 0 2px var(--focus);
378
+ }
379
+
380
+ select:focus {
381
+ box-shadow: 0 0 0 2px #0096bfab;
382
+ box-shadow: 0 0 0 2px var(--focus);
383
+ }
384
+
385
+ button:focus {
386
+ box-shadow: 0 0 0 2px #0096bfab;
387
+ box-shadow: 0 0 0 2px var(--focus);
388
+ }
389
+
390
+ textarea:focus {
391
+ box-shadow: 0 0 0 2px #0096bfab;
392
+ box-shadow: 0 0 0 2px var(--focus);
393
+ }
394
+
395
+ input[type='checkbox']:active,
396
+ input[type='radio']:active,
397
+ input[type='submit']:active,
398
+ input[type='button']:active,
399
+ input[type='range']:active,
400
+ button:active {
401
+ transform: translateY(2px);
402
+ }
403
+
404
+ input:disabled,
405
+ select:disabled,
406
+ button:disabled,
407
+ textarea:disabled {
408
+ cursor: not-allowed;
409
+ opacity: 0.5;
410
+ }
411
+
412
+ ::-moz-placeholder {
413
+ color: #a9a9a9;
414
+ color: var(--form-placeholder);
415
+ }
416
+
417
+ :-ms-input-placeholder {
418
+ color: #a9a9a9;
419
+ color: var(--form-placeholder);
420
+ }
421
+
422
+ ::-ms-input-placeholder {
423
+ color: #a9a9a9;
424
+ color: var(--form-placeholder);
425
+ }
426
+
427
+ ::placeholder {
428
+ color: #a9a9a9;
429
+ color: var(--form-placeholder);
430
+ }
431
+
432
+ fieldset {
433
+ border: 1px #0096bfab solid;
434
+ border: 1px var(--focus) solid;
435
+ border-radius: 6px;
436
+ margin: 0;
437
+ margin-bottom: 12px;
438
+ padding: 10px;
439
+ }
440
+
441
+ legend {
442
+ font-size: 0.9em;
443
+ font-weight: 600;
444
+ }
445
+
446
+ input[type='range'] {
447
+ margin: 10px 0;
448
+ padding: 10px 0;
449
+ background: transparent;
450
+ }
451
+
452
+ input[type='range']:focus {
453
+ outline: none;
454
+ }
455
+
456
+ input[type='range']::-webkit-slider-runnable-track {
457
+ width: 100%;
458
+ height: 9.5px;
459
+ -webkit-transition: 0.2s;
460
+ transition: 0.2s;
461
+ background: #161f27;
462
+ background: var(--background);
463
+ border-radius: 3px;
464
+ }
465
+
466
+ input[type='range']::-webkit-slider-thumb {
467
+ box-shadow: 0 1px 1px #000, 0 0 1px #0d0d0d;
468
+ height: 20px;
469
+ width: 20px;
470
+ border-radius: 50%;
471
+ background: #526980;
472
+ background: var(--border);
473
+ -webkit-appearance: none;
474
+ margin-top: -7px;
475
+ }
476
+
477
+ input[type='range']:focus::-webkit-slider-runnable-track {
478
+ background: #161f27;
479
+ background: var(--background);
480
+ }
481
+
482
+ input[type='range']::-moz-range-track {
483
+ width: 100%;
484
+ height: 9.5px;
485
+ -moz-transition: 0.2s;
486
+ transition: 0.2s;
487
+ background: #161f27;
488
+ background: var(--background);
489
+ border-radius: 3px;
490
+ }
491
+
492
+ input[type='range']::-moz-range-thumb {
493
+ box-shadow: 1px 1px 1px #000, 0 0 1px #0d0d0d;
494
+ height: 20px;
495
+ width: 20px;
496
+ border-radius: 50%;
497
+ background: #526980;
498
+ background: var(--border);
499
+ }
500
+
501
+ input[type='range']::-ms-track {
502
+ width: 100%;
503
+ height: 9.5px;
504
+ background: transparent;
505
+ border-color: transparent;
506
+ border-width: 16px 0;
507
+ color: transparent;
508
+ }
509
+
510
+ input[type='range']::-ms-fill-lower {
511
+ background: #161f27;
512
+ background: var(--background);
513
+ border: 0.2px solid #010101;
514
+ border-radius: 3px;
515
+ box-shadow: 1px 1px 1px #000, 0 0 1px #0d0d0d;
516
+ }
517
+
518
+ input[type='range']::-ms-fill-upper {
519
+ background: #161f27;
520
+ background: var(--background);
521
+ border: 0.2px solid #010101;
522
+ border-radius: 3px;
523
+ box-shadow: 1px 1px 1px #000, 0 0 1px #0d0d0d;
524
+ }
525
+
526
+ input[type='range']::-ms-thumb {
527
+ box-shadow: 1px 1px 1px #000, 0 0 1px #0d0d0d;
528
+ border: 1px solid #000;
529
+ height: 20px;
530
+ width: 20px;
531
+ border-radius: 50%;
532
+ background: #526980;
533
+ background: var(--border);
534
+ }
535
+
536
+ input[type='range']:focus::-ms-fill-lower {
537
+ background: #161f27;
538
+ background: var(--background);
539
+ }
540
+
541
+ input[type='range']:focus::-ms-fill-upper {
542
+ background: #161f27;
543
+ background: var(--background);
544
+ }
545
+
546
+ a {
547
+ text-decoration: none;
548
+ color: #41adff;
549
+ color: var(--links);
550
+ }
551
+
552
+ a:hover {
553
+ text-decoration: underline;
554
+ }
555
+
556
+ code {
557
+ background: #161f27;
558
+ background: var(--background);
559
+ color: #ffbe85;
560
+ color: var(--code);
561
+ padding: 2.5px 5px;
562
+ border-radius: 6px;
563
+ font-size: 1em;
564
+ }
565
+
566
+ samp {
567
+ background: #161f27;
568
+ background: var(--background);
569
+ color: #ffbe85;
570
+ color: var(--code);
571
+ padding: 2.5px 5px;
572
+ border-radius: 6px;
573
+ font-size: 1em;
574
+ }
575
+
576
+ time {
577
+ background: #161f27;
578
+ background: var(--background);
579
+ color: #ffbe85;
580
+ color: var(--code);
581
+ padding: 2.5px 5px;
582
+ border-radius: 6px;
583
+ font-size: 1em;
584
+ }
585
+
586
+ pre > code {
587
+ padding: 10px;
588
+ display: block;
589
+ overflow-x: auto;
590
+ }
591
+
592
+ var {
593
+ color: #d941e2;
594
+ color: var(--variable);
595
+ font-style: normal;
596
+ font-family: monospace;
597
+ }
598
+
599
+ kbd {
600
+ background: #161f27;
601
+ background: var(--background);
602
+ border: 1px solid #526980;
603
+ border: 1px solid var(--border);
604
+ border-radius: 2px;
605
+ color: #dbdbdb;
606
+ color: var(--text-main);
607
+ padding: 2px 4px 2px 4px;
608
+ }
609
+
610
+ img,
611
+ video {
612
+ max-width: 100%;
613
+ height: auto;
614
+ }
615
+
616
+ hr {
617
+ border: none;
618
+ border-top: 1px solid #526980;
619
+ border-top: 1px solid var(--border);
620
+ }
621
+
622
+ table {
623
+ border-collapse: collapse;
624
+ margin-bottom: 10px;
625
+ width: 100%;
626
+ table-layout: fixed;
627
+ }
628
+
629
+ table caption {
630
+ text-align: left;
631
+ }
632
+
633
+ td,
634
+ th {
635
+ padding: 6px;
636
+ text-align: left;
637
+ vertical-align: top;
638
+ word-wrap: break-word;
639
+ }
640
+
641
+ thead {
642
+ border-bottom: 1px solid #526980;
643
+ border-bottom: 1px solid var(--border);
644
+ }
645
+
646
+ tfoot {
647
+ border-top: 1px solid #526980;
648
+ border-top: 1px solid var(--border);
649
+ }
650
+
651
+ tbody tr:nth-child(even) {
652
+ background-color: #1a242f;
653
+ background-color: var(--background-alt);
654
+ }
655
+
656
+ ::-webkit-scrollbar {
657
+ height: 10px;
658
+ width: 10px;
659
+ }
660
+
661
+ ::-webkit-scrollbar-track {
662
+ background: #161f27;
663
+ background: var(--background);
664
+ border-radius: 6px;
665
+ }
666
+
667
+ ::-webkit-scrollbar-thumb {
668
+ background: #324759;
669
+ background: var(--scrollbar-thumb);
670
+ border-radius: 6px;
671
+ }
672
+
673
+ ::-webkit-scrollbar-thumb:hover {
674
+ background: rgb(65, 92, 115);
675
+ background: var(--scrollbar-thumb-hover);
676
+ }
677
+
678
+ ::-moz-selection {
679
+ background-color: #1c76c5;
680
+ background-color: var(--selection);
681
+ color: #fff;
682
+ color: var(--text-bright);
683
+ }
684
+
685
+ ::selection {
686
+ background-color: #1c76c5;
687
+ background-color: var(--selection);
688
+ color: #fff;
689
+ color: var(--text-bright);
690
+ }
691
+
692
+ details {
693
+ display: flex;
694
+ flex-direction: column;
695
+ align-items: flex-start;
696
+ background-color: #1a242f;
697
+ background-color: var(--background-alt);
698
+ padding: 10px 10px 0;
699
+ margin: 1em 0;
700
+ border-radius: 6px;
701
+ overflow: hidden;
702
+ }
703
+
704
+ details[open] {
705
+ padding: 10px;
706
+ }
707
+
708
+ details > :last-child {
709
+ margin-bottom: 0;
710
+ }
711
+
712
+ details[open] summary {
713
+ margin-bottom: 10px;
714
+ }
715
+
716
+ summary {
717
+ display: list-item;
718
+ background-color: #161f27;
719
+ background-color: var(--background);
720
+ padding: 10px;
721
+ margin: -10px -10px 0;
722
+ cursor: pointer;
723
+ outline: none;
724
+ }
725
+
726
+ summary:hover,
727
+ summary:focus {
728
+ text-decoration: underline;
729
+ }
730
+
731
+ details > :not(summary) {
732
+ margin-top: 0;
733
+ }
734
+
735
+ summary::-webkit-details-marker {
736
+ color: #dbdbdb;
737
+ color: var(--text-main);
738
+ }
739
+
740
+ footer {
741
+ border-top: 1px solid #526980;
742
+ border-top: 1px solid var(--border);
743
+ padding-top: 10px;
744
+ color: #a9b1ba;
745
+ color: var(--text-muted);
746
+ }
747
+
748
+ body > footer {
749
+ margin-top: 40px;
750
+ }
751
+
752
+ @media print {
753
+ body,
754
+ pre,
755
+ code,
756
+ summary,
757
+ details,
758
+ button,
759
+ input,
760
+ textarea {
761
+ background-color: #fff;
762
+ }
763
+
764
+ button,
765
+ input,
766
+ textarea {
767
+ border: 1px solid #000;
768
+ }
769
+
770
+ body,
771
+ h1,
772
+ h2,
773
+ h3,
774
+ h4,
775
+ h5,
776
+ h6,
777
+ pre,
778
+ code,
779
+ button,
780
+ input,
781
+ textarea,
782
+ footer,
783
+ summary,
784
+ strong {
785
+ color: #000;
786
+ }
787
+
788
+ summary::marker {
789
+ color: #000;
790
+ }
791
+
792
+ summary::-webkit-details-marker {
793
+ color: #000;
794
+ }
795
+
796
+ tbody tr:nth-child(even) {
797
+ background-color: #f2f2f2;
798
+ }
799
+
800
+ a {
801
+ color: #00f;
802
+ text-decoration: underline;
803
+ }
804
+ }
805
+
806
+ /*# sourceMappingURL=dark.css.map */
807
+ ENDEND
808
+
809
+ end
810
+ end
811
+ end
812
+ end