@gadgetinc/ggt 1.0.6 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +1 -0
  2. package/dist/add-DCE6CV2D.js +78 -0
  3. package/dist/add-DCE6CV2D.js.map +7 -0
  4. package/dist/chunk-3Q3GPB6Z.js +2 -0
  5. package/dist/chunk-3Q3GPB6Z.js.map +7 -0
  6. package/dist/chunk-6FBP46EB.js +18 -0
  7. package/dist/chunk-6FBP46EB.js.map +7 -0
  8. package/dist/chunk-AB4I3BMD.js +33 -0
  9. package/dist/{chunk-BOQUW6DS.js.map → chunk-AB4I3BMD.js.map} +3 -3
  10. package/dist/{chunk-GACF5GYF.js → chunk-BYMG3KOL.js} +4 -6
  11. package/dist/{chunk-GACF5GYF.js.map → chunk-BYMG3KOL.js.map} +2 -2
  12. package/dist/chunk-BZSAGSV3.js +8 -0
  13. package/dist/{chunk-APHXRHNI.js.map → chunk-BZSAGSV3.js.map} +3 -3
  14. package/dist/chunk-CXYA3RFX.js +117 -0
  15. package/dist/chunk-CXYA3RFX.js.map +7 -0
  16. package/dist/chunk-DVKNBG4P.js +180 -0
  17. package/dist/chunk-DVKNBG4P.js.map +7 -0
  18. package/dist/chunk-EFU2JNKY.js +9 -0
  19. package/dist/chunk-EFU2JNKY.js.map +7 -0
  20. package/dist/chunk-KGOVR5SK.js +67 -0
  21. package/dist/chunk-KGOVR5SK.js.map +7 -0
  22. package/dist/chunk-KMCOZJPU.js +12 -0
  23. package/dist/chunk-KMCOZJPU.js.map +7 -0
  24. package/dist/{chunk-Q5N5L6H3.js → chunk-M4PNFOA5.js} +2 -2
  25. package/dist/chunk-M4PNFOA5.js.map +7 -0
  26. package/dist/chunk-OLKWG2EP.js +12 -0
  27. package/dist/chunk-OLKWG2EP.js.map +7 -0
  28. package/dist/{chunk-ERYUXLYS.js → chunk-THZRTDWW.js} +8 -8
  29. package/dist/{chunk-ERYUXLYS.js.map → chunk-THZRTDWW.js.map} +3 -3
  30. package/dist/context-L5YSPF3X.js +2 -0
  31. package/dist/deploy-PBJEUYGH.js +25 -0
  32. package/dist/deploy-PBJEUYGH.js.map +7 -0
  33. package/dist/{dev-VHJ52BEA.js → dev-OT7PEKUN.js} +9 -11
  34. package/dist/{dev-VHJ52BEA.js.map → dev-OT7PEKUN.js.map} +3 -3
  35. package/dist/esm-GJ7RK6IC.js +34 -0
  36. package/dist/esm-GJ7RK6IC.js.map +7 -0
  37. package/dist/list-CC5PICEF.js +11 -0
  38. package/dist/list-CC5PICEF.js.map +7 -0
  39. package/dist/login-SE7XIHRW.js +2 -0
  40. package/dist/logout-B3YAZN6R.js +7 -0
  41. package/dist/{logout-HX6MM4S6.js.map → logout-B3YAZN6R.js.map} +3 -3
  42. package/dist/main.js +6 -8
  43. package/dist/main.js.map +3 -3
  44. package/dist/{open-GEEWPSF4.js → open-OVK3YL4O.js} +3 -3
  45. package/dist/{open-GEEWPSF4.js.map → open-OVK3YL4O.js.map} +2 -2
  46. package/dist/{pull-T2Q4M4UN.js → pull-SLPBOP6Z.js} +3 -5
  47. package/dist/{pull-T2Q4M4UN.js.map → pull-SLPBOP6Z.js.map} +2 -2
  48. package/dist/push-3HGVWCKW.js +2 -0
  49. package/dist/push-3HGVWCKW.js.map +7 -0
  50. package/dist/status-7GLNL7D5.js +14 -0
  51. package/dist/{status-5VZH3KXH.js.map → status-7GLNL7D5.js.map} +1 -1
  52. package/dist/user-C34J52UL.js +2 -0
  53. package/dist/user-C34J52UL.js.map +7 -0
  54. package/dist/{version-OF4TQ2K6.js → version-AUI4NRDS.js} +2 -2
  55. package/dist/whoami-TXO7VJXC.js +7 -0
  56. package/dist/{whoami-V3XD27QH.js.map → whoami-TXO7VJXC.js.map} +2 -2
  57. package/package.json +20 -20
  58. package/dist/add-JIIVAOWH.js +0 -84
  59. package/dist/add-JIIVAOWH.js.map +0 -7
  60. package/dist/chunk-APHXRHNI.js +0 -8
  61. package/dist/chunk-AQRCAWW4.js +0 -24
  62. package/dist/chunk-AQRCAWW4.js.map +0 -7
  63. package/dist/chunk-BOQUW6DS.js +0 -33
  64. package/dist/chunk-CKSTMUDN.js +0 -17
  65. package/dist/chunk-CKSTMUDN.js.map +0 -7
  66. package/dist/chunk-GBCD37US.js +0 -57
  67. package/dist/chunk-GBCD37US.js.map +0 -7
  68. package/dist/chunk-P2XPMNL6.js +0 -183
  69. package/dist/chunk-P2XPMNL6.js.map +0 -7
  70. package/dist/chunk-PSRZ5JH5.js +0 -27
  71. package/dist/chunk-PSRZ5JH5.js.map +0 -7
  72. package/dist/chunk-Q5N5L6H3.js.map +0 -7
  73. package/dist/chunk-RJOIQTYZ.js +0 -126
  74. package/dist/chunk-RJOIQTYZ.js.map +0 -7
  75. package/dist/chunk-XCHCCJJZ.js +0 -2
  76. package/dist/chunk-XCHCCJJZ.js.map +0 -7
  77. package/dist/deploy-KMGAGIDE.js +0 -30
  78. package/dist/deploy-KMGAGIDE.js.map +0 -7
  79. package/dist/esm-BL3OM5UJ.js +0 -33
  80. package/dist/esm-BL3OM5UJ.js.map +0 -7
  81. package/dist/list-5E3R22IC.js +0 -11
  82. package/dist/list-5E3R22IC.js.map +0 -7
  83. package/dist/login-3DL45WY7.js +0 -2
  84. package/dist/logout-HX6MM4S6.js +0 -7
  85. package/dist/push-LUW25FYF.js +0 -2
  86. package/dist/status-5VZH3KXH.js +0 -14
  87. package/dist/whoami-V3XD27QH.js +0 -7
  88. /package/dist/{login-3DL45WY7.js.map → context-L5YSPF3X.js.map} +0 -0
  89. /package/dist/{push-LUW25FYF.js.map → login-SE7XIHRW.js.map} +0 -0
  90. /package/dist/{version-OF4TQ2K6.js.map → version-AUI4NRDS.js.map} +0 -0
@@ -1,84 +0,0 @@
1
- import{d as F,e as C,f as B,g as U,h as O,m as P}from"./chunk-P2XPMNL6.js";import{g as E,l as L,m as M,n as k,o as N}from"./chunk-RJOIQTYZ.js";import"./chunk-ERYUXLYS.js";import{b as y,g as S,h as j}from"./chunk-BOQUW6DS.js";import"./chunk-APHXRHNI.js";import{b as $}from"./chunk-D2K5XPNJ.js";import"./chunk-Q5N5L6H3.js";import"./chunk-PSRZ5JH5.js";import{b as A,e as b,f as v,i as p}from"./chunk-CKSTMUDN.js";import{c as h}from"./chunk-AQRCAWW4.js";import{U as l,W as c,b as g,m as _}from"./chunk-GBCD37US.js";import"./chunk-F3EZ4KS3.js";import"./chunk-GOBNB5VT.js";import{g as T}from"./chunk-5WC5D4WL.js";T();var f=class extends v{isBug=b.NO;constructor(n){let a="";if(_(n.cause)){let e=$(n.cause.map(o=>o.message));a=l` • ${e.map(o=>o.split(`
2
- `).join(`
3
- \u200E \u2022 `)).join(`
4
- `)}`}else a=l`${n.cause}`;super(a)}render(){return`${g.redBright(h.cross)} Failed to add:
5
- `+this.message}},le={...M},J=()=>l`
6
- Adds models, fields, actions and routes to your app.
7
-
8
- This command first performs a sync to ensure that your local and environment directories match, changes are tracked since last sync.
9
- If any conflicts are detected, they must be resolved before adding models, fields, actions or routes.
10
-
11
- {gray Usage}
12
- ggt add model <model_name> [field_name:field_type ...]
13
-
14
- ggt add action [CONTEXT]/<action_name>
15
- CONTEXT:Specifies the kind of action. Use "model" for model actions otherwise use "action".
16
-
17
- ggt add route <HTTP_METHOD> <route_path>
18
-
19
- ggt add field <model_path>/<field_name>:<field_type>
20
-
21
- {gray Options}
22
- -e, --env <env_name> Selects the environment to add to. Default set on ".gadget/sync.json"
23
-
24
- {gray Examples}
25
- Add a new model 'post' with out fields:
26
- {cyanBright $ ggt add model modelA}
27
-
28
- Add a new model 'post' with 2 new 'string' type fields 'title' and 'body':
29
- {cyanBright $ ggt add model post title:string body:string}
30
-
31
- Add new action 'publish' to the 'post' model:
32
- {cyanBright ggt add action model/post/publish}
33
-
34
- Add a new action 'audit'
35
- {cyanBright ggt add action action/audit}
36
-
37
- Add a new route 'howdy'
38
- {cyanBright ggt add route GET howdy}
39
-
40
- Add a new 'boolean' type field 'published' to an existing model
41
- {cyanBright ggt add field post/published:boolean}
42
- `,ce=async t=>{let n=await N(process.cwd()),a=await k.load(t,{directory:n});if(!a)throw new E(t,{directory:n});let e=new P(a),o=await e.hashes(t,!0);o.inSync||await e.merge(t,{hashes:o,printEnvironmentChangesOptions:{limit:5},printLocalChangesOptions:{limit:5},quietly:!0}),c({ensureEmptyLineAbove:!0})`${g.greenBright(h.tick)} Sync completed ${O()}`;let i=t.args._[0];if(!i){c(J(t));return}switch(i){case"model":await V(t,e);break;case"action":await G(t,e);break;case"route":await H(t,e);break;case"field":await X(t,e);break;default:c(J(t));return}};var D=t=>{let n=[],a=[];return t.forEach(e=>{let o=e.match(/^(.*):+(.*)$/);!o||o.length!==3||!o[1]||!o[2]?n.push(l`${e} is not a valid field definition`):a.push({name:o[1].replace(/:+/g,""),fieldType:o[2]})}),[a,n]},V=async(t,n)=>{let a=n.syncJson,e=t.args._[1];if(!e)throw new p(l`Failed to add model, missing model path
43
-
44
- {gray Usage}
45
- {cyanBright ggt add model <model_name> [field_name:field_type ...]}`);let o=[];if(t.args._.length>2){let[d,m]=D(t.args._.slice(2));if(m.length>0)throw new p(l`
46
- Failed to add model:
47
- • ${m.join(`
48
- \u2022 `)}
49
-
50
- {gray Usage}
51
- {cyanBright ggt add model ${e} [field_name:field_type ...]}`);o.push(...d)}let i;try{i=(await a.edit.mutate({mutation:F,variables:{path:e,fields:o.map(d=>({name:d.name,fieldType:d.fieldType}))}})).createModel}catch(d){throw d instanceof y?new f(d):d}c({ensureEmptyLineAbove:!0})`${g.gray("New model created in environment.")}`,await n.writeToLocalFilesystem(t,{filesVersion:i.remoteFilesVersion,files:i.changed,delete:[]});let s=A.isSupported?A(e,`https://${a.app.primaryDomain}/edit/${a.env.name}/model/${e}/schema`):e;c({ensureEmptyLineAbove:!0})`${g.greenBright(h.tick)} Model ${g.cyanBright(s)} added successfully.`},G=async(t,n)=>{let a=n.syncJson,e=t.args._[1];if(!e)throw new p(l`Failed to add action, missing action path
52
-
53
- {gray Usage}
54
- {cyanBright ggt add action [CONTEXT]/<action_name>
55
- CONTEXT:Specifies the kind of action. Use "model" for model actions otherwise use "action".}`);let o=await S(t),i=await j(t),s=e.split("/"),d,m=s.length>1?s.slice(0,s.length-1):s,u=s[s.length-1],I=o.find(r=>{let w=m[m.length-1];return r.apiIdentifier.toUpperCase()===w?.toUpperCase()&&r.namespace?.join("/")===m.slice(0,m.length-1).join("/")}),R=i.find(r=>r.namespace?.join("/")===m.join("/"));if(I&&R){let r=m.join("/");d=await L({choices:Object.values(["models","actions"]),formatChoice:w=>{switch(w){case"models":return`As a Model action in ${g.gray(`models/${r}/${u}.js`)}`;case"actions":return`As an Action in ${g.gray(`actions/${r}/${u}.js`)}`}}})`
56
- {bold Namespace Conflict:} The action '${u}.js' cannot be automatically added due to a namespace conflict.
57
-
58
- How would you like to proceed?:
59
- `,c({ensureEmptyLineAbove:!0})`${g.yellowBright(h.info)} You can override the context of the action by specifying the context in the path. For example: {gray ggt add action ${d}/${e}}`}try{let r=(await a.edit.mutate({mutation:C,variables:{path:d?`${d}/`+e:e}})).createAction;await n.writeToLocalFilesystem(t,{filesVersion:r.remoteFilesVersion,files:r.changed,delete:[]})}catch(r){throw r instanceof y?new f(r):r}c({ensureEmptyLineAbove:!0})`
60
- Action {cyanBright ${e}} added successfully.
61
- `},H=async(t,n)=>{let a=n.syncJson,e=t.args._[1],o=t.args._[2];if(!e)throw new p(l`Failed to add route, missing route method
62
-
63
- {gray Usage}
64
- {cyanBright ggt add route <HTTP_METHOD> <route_path>}`);if(!o)throw new p(l`Failed to add route, missing route path
65
-
66
- {gray Usage}
67
- {cyanBright ggt add route ${e} <route_path>}`);try{let i=(await a.edit.mutate({mutation:B,variables:{method:e,path:o}})).createRoute;await n.writeToLocalFilesystem(t,{filesVersion:i.remoteFilesVersion,files:i.changed,delete:[]})}catch(i){throw i instanceof y?new f(i):i}c({ensureEmptyLineAbove:!0})`
68
- Route {cyanBright ${o}} added successfully.
69
- `},X=async(t,n)=>{let a=n.syncJson,e=t.args._[1]?.split("/");if(!e)throw new p(l`Failed to add field, invalid field path definition
70
-
71
- {gray Usage}
72
- {cyanBright ggt add field <model_path>/<field_name>:<field_type>}`);let o=[];if(e[1]){let[i,s]=D([e[1]]);if(s.length>0)throw new p(l`
73
- Failed to add field:
74
- • ${s.join(`
75
- \u2022`)}
76
-
77
- {gray Usage}
78
- {cyanBright ggt add field ${e[0]}/<field_name>:<field_type>}`);o.push(...i)}else throw new p(l`Failed to add field, invalid field definition
79
-
80
- {gray Usage}
81
- {cyanBright ggt add field ${e[0]}/<field_name>:<field_type>}`);try{let i=(await a.edit.mutate({mutation:U,variables:{path:e[0],fields:o.map(s=>({name:s.name,fieldType:s.fieldType}))}})).createModelFields;await n.writeToLocalFilesystem(t,{filesVersion:i.remoteFilesVersion,files:i.changed,delete:[]})}catch(i){throw i instanceof y?new f(i):i}c({ensureEmptyLineAbove:!0})`
82
- Field {cyanBright ${o[0]?.name}} added successfully.
83
- `};export{f as AddClientError,le as args,ce as run,J as usage};
84
- //# sourceMappingURL=add-JIIVAOWH.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/commands/add.ts"],
4
- "sourcesContent": ["/* eslint-disable no-case-declarations */\nimport chalk from \"chalk\";\nimport terminalLink from \"terminal-link\";\nimport { getGlobalActions, getModels } from \"../services/app/app.js\";\nimport {\n CREATE_ACTION_MUTATION,\n CREATE_MODEL_FIELDS_MUTATION,\n CREATE_MODEL_MUTATION,\n CREATE_ROUTE_MUTATION,\n} from \"../services/app/edit/operation.js\";\nimport { ClientError } from \"../services/app/error.js\";\nimport { ArgError } from \"../services/command/arg.js\";\nimport type { Run, Usage } from \"../services/command/command.js\";\nimport type { Context } from \"../services/command/context.js\";\nimport { UnknownDirectoryError } from \"../services/filesync/error.js\";\nimport { FileSync } from \"../services/filesync/filesync.js\";\nimport { SyncJson, SyncJsonArgs, loadSyncJsonDirectory } from \"../services/filesync/sync-json.js\";\nimport { println } from \"../services/output/print.js\";\nimport { GGTError, IsBug } from \"../services/output/report.js\";\nimport { select } from \"../services/output/select.js\";\nimport { sprint } from \"../services/output/sprint.js\";\nimport { symbol } from \"../services/output/symbols.js\";\nimport { ts } from \"../services/output/timestamp.js\";\nimport { uniq } from \"../services/util/collection.js\";\nimport { isGraphQLErrors } from \"../services/util/is.js\";\nimport type { DevArgs } from \"./dev.js\";\n\nexport class AddClientError extends GGTError {\n isBug = IsBug.NO;\n\n constructor(error: ClientError) {\n let template = \"\";\n\n if (isGraphQLErrors(error.cause)) {\n const errors = uniq(error.cause.map((x) => x.message));\n\n template = sprint` \u2022 ${errors.map((e) => e.split(\"\\n\").join(\"\\n\u200E \u2022 \")).join(\"\\n\")}`; // Why in gods name do I have to put an empty character for the tab to work?\n } else {\n template = sprint`${error.cause}`;\n }\n\n super(template);\n }\n\n protected override render(): string {\n return `${chalk.redBright(symbol.cross)} Failed to add:\\n ` + this.message;\n }\n}\n\nexport type AddArgs = typeof args;\n\nexport const args = {\n ...SyncJsonArgs,\n};\n\nexport const usage: Usage = () => {\n return sprint`\n Adds models, fields, actions and routes to your app.\n\n This command first performs a sync to ensure that your local and environment directories match, changes are tracked since last sync.\n If any conflicts are detected, they must be resolved before adding models, fields, actions or routes.\n\n {gray Usage}\n ggt add model <model_name> [field_name:field_type ...]\n\n ggt add action [CONTEXT]/<action_name>\n CONTEXT:Specifies the kind of action. Use \"model\" for model actions otherwise use \"action\".\n\n ggt add route <HTTP_METHOD> <route_path>\n\n ggt add field <model_path>/<field_name>:<field_type>\n\n {gray Options}\n -e, --env <env_name> Selects the environment to add to. Default set on \".gadget/sync.json\"\n\n {gray Examples}\n Add a new model 'post' with out fields:\n {cyanBright $ ggt add model modelA}\n\n Add a new model 'post' with 2 new 'string' type fields 'title' and 'body':\n {cyanBright $ ggt add model post title:string body:string}\n\n Add new action 'publish' to the 'post' model:\n {cyanBright ggt add action model/post/publish}\n\n Add a new action 'audit'\n {cyanBright ggt add action action/audit}\n\n Add a new route 'howdy'\n {cyanBright ggt add route GET howdy}\n\n Add a new 'boolean' type field 'published' to an existing model\n {cyanBright ggt add field post/published:boolean}\n `;\n};\n\nexport const run: Run<AddArgs> = async (ctx) => {\n const directory = await loadSyncJsonDirectory(process.cwd());\n const syncJson = await SyncJson.load(ctx, { directory });\n if (!syncJson) {\n throw new UnknownDirectoryError(ctx, { directory });\n }\n\n const filesync = new FileSync(syncJson);\n const hashes = await filesync.hashes(ctx, true);\n\n if (!hashes.inSync) {\n await filesync.merge(ctx as unknown as Context<DevArgs>, {\n hashes,\n printEnvironmentChangesOptions: {\n limit: 5,\n },\n printLocalChangesOptions: {\n limit: 5,\n },\n quietly: true,\n });\n }\n\n println({ ensureEmptyLineAbove: true })`${chalk.greenBright(symbol.tick)} Sync completed ${ts()}`;\n\n const actionType = ctx.args._[0] as AddActionType | undefined;\n if (!actionType) {\n println(usage(ctx));\n return;\n }\n\n switch (actionType) {\n case \"model\":\n await modelSubCommand(ctx, filesync);\n break;\n case \"action\":\n await actionSubCommand(ctx, filesync);\n break;\n case \"route\":\n await routeSubCommand(ctx, filesync);\n break;\n case \"field\":\n await fieldSubCommand(ctx, filesync);\n break;\n default:\n println(usage(ctx));\n return;\n }\n};\n\nconst addActionType = [\"model\", \"action\", \"route\", \"field\"] as const;\n\ntype AddActionType = (typeof addActionType)[number];\n\nconst parseFieldValues = (fields: string[]): [{ name: string; fieldType: string }[], problems: string[]] => {\n const problems: string[] = [];\n const modelFields: { name: string; fieldType: string }[] = [];\n\n fields.forEach((field) => {\n const matches = field.match(/^(.*):+(.*)$/);\n if (!matches || matches.length !== 3 || !matches[1] || !matches[2]) {\n problems.push(sprint`${field} is not a valid field definition`);\n } else {\n modelFields.push({ name: matches[1].replace(/:+/g, \"\"), fieldType: matches[2] });\n }\n });\n\n return [modelFields, problems];\n};\n\nconst modelSubCommand = async (ctx: Context<AddArgs>, filesync: FileSync): Promise<void> => {\n const syncJson = filesync.syncJson;\n const modelApiIdentifier = ctx.args._[1];\n\n if (!modelApiIdentifier) {\n throw new ArgError(sprint`Failed to add model, missing model path\n\n {gray Usage}\n {cyanBright ggt add model <model_name> [field_name:field_type ...]}`);\n }\n\n const modelFieldsList: { name: string; fieldType: string }[] = [];\n if (ctx.args._.length > 2) {\n const [modelFields, problems] = parseFieldValues(ctx.args._.slice(2));\n\n if (problems.length > 0) {\n throw new ArgError(sprint`\n Failed to add model:\n \u2022 ${problems.join(\"\\n \u2022 \")}\n\n {gray Usage}\n {cyanBright ggt add model ${modelApiIdentifier} [field_name:field_type ...]}`);\n }\n\n modelFieldsList.push(...modelFields);\n }\n\n let result;\n\n try {\n result = (\n await syncJson.edit.mutate({\n mutation: CREATE_MODEL_MUTATION,\n variables: {\n path: modelApiIdentifier,\n fields: modelFieldsList.map((fields) => ({\n name: fields.name,\n fieldType: fields.fieldType,\n })),\n },\n })\n ).createModel;\n } catch (error) {\n if (error instanceof ClientError) {\n throw new AddClientError(error);\n } else {\n throw error;\n }\n }\n\n println({ ensureEmptyLineAbove: true })`${chalk.gray(\"New model created in environment.\")}`;\n\n await filesync.writeToLocalFilesystem(ctx, {\n filesVersion: result.remoteFilesVersion,\n files: result.changed,\n delete: [],\n });\n\n const modelPrintout = terminalLink.isSupported\n ? terminalLink(modelApiIdentifier, `https://${syncJson.app.primaryDomain}/edit/${syncJson.env.name}/model/${modelApiIdentifier}/schema`)\n : modelApiIdentifier;\n println({ ensureEmptyLineAbove: true })`${chalk.greenBright(symbol.tick)} Model ${chalk.cyanBright(modelPrintout)} added successfully.`;\n};\n\nconst actionSubCommand = async (ctx: Context<AddArgs>, filesync: FileSync): Promise<void> => {\n const syncJson = filesync.syncJson;\n const path = ctx.args._[1];\n\n if (!path) {\n throw new ArgError(sprint`Failed to add action, missing action path\n\n {gray Usage}\n {cyanBright ggt add action [CONTEXT]/<action_name>\n CONTEXT:Specifies the kind of action. Use \"model\" for model actions otherwise use \"action\".}`);\n }\n\n const models = await getModels(ctx);\n const globalActions = await getGlobalActions(ctx);\n const splitPath = path.split(\"/\");\n\n let overrideContextAction: \"models\" | \"actions\" | undefined;\n\n const parsedPaths = splitPath.length > 1 ? splitPath.slice(0, splitPath.length - 1) : splitPath;\n const parsedAction = splitPath[splitPath.length - 1];\n\n const conflictingModel = models.find((model) => {\n const modelName = parsedPaths[parsedPaths.length - 1];\n\n return (\n model.apiIdentifier.toUpperCase() === modelName?.toUpperCase() &&\n model.namespace?.join(\"/\") === parsedPaths.slice(0, parsedPaths.length - 1).join(\"/\")\n );\n });\n\n const conflictingActionNamespace = globalActions.find((action) => {\n return action.namespace?.join(\"/\") === parsedPaths.join(\"/\");\n });\n\n if (conflictingModel && conflictingActionNamespace) {\n const joinedParsedPaths = parsedPaths.join(\"/\");\n overrideContextAction = await select({\n choices: Object.values([\"models\", \"actions\"]),\n formatChoice: (choice) => {\n switch (choice) {\n case \"models\": {\n return `As a Model action in ${chalk.gray(`models/${joinedParsedPaths}/${parsedAction}.js`)}`;\n }\n case \"actions\": {\n return `As an Action in ${chalk.gray(`actions/${joinedParsedPaths}/${parsedAction}.js`)}`;\n }\n }\n },\n })`\n {bold Namespace Conflict:} The action '${parsedAction}.js' cannot be automatically added due to a namespace conflict.\n\n How would you like to proceed?:\n `;\n\n println({\n ensureEmptyLineAbove: true,\n })`${chalk.yellowBright(symbol.info)} You can override the context of the action by specifying the context in the path. For example: {gray ggt add action ${overrideContextAction}/${path}}`;\n }\n\n try {\n const result = (\n await syncJson.edit.mutate({\n mutation: CREATE_ACTION_MUTATION,\n variables: { path: overrideContextAction ? `${overrideContextAction}/` + path : path },\n })\n ).createAction;\n\n await filesync.writeToLocalFilesystem(ctx, {\n filesVersion: result.remoteFilesVersion,\n files: result.changed,\n delete: [],\n });\n } catch (error) {\n if (error instanceof ClientError) {\n throw new AddClientError(error);\n } else {\n throw error;\n }\n }\n\n println({ ensureEmptyLineAbove: true })`\n Action {cyanBright ${path}} added successfully.\n `;\n};\n\nconst routeSubCommand = async (ctx: Context<AddArgs>, filesync: FileSync): Promise<void> => {\n const syncJson = filesync.syncJson;\n const routeMethod = ctx.args._[1];\n const routePath = ctx.args._[2];\n\n if (!routeMethod) {\n throw new ArgError(sprint`Failed to add route, missing route method\n\n {gray Usage}\n {cyanBright ggt add route <HTTP_METHOD> <route_path>}`);\n }\n\n if (!routePath) {\n throw new ArgError(sprint`Failed to add route, missing route path\n\n {gray Usage}\n {cyanBright ggt add route ${routeMethod} <route_path>}`);\n }\n\n try {\n const result = (\n await syncJson.edit.mutate({\n mutation: CREATE_ROUTE_MUTATION,\n variables: { method: routeMethod, path: routePath },\n })\n ).createRoute;\n\n await filesync.writeToLocalFilesystem(ctx, {\n filesVersion: result.remoteFilesVersion,\n files: result.changed,\n delete: [],\n });\n } catch (error) {\n if (error instanceof ClientError) {\n throw new AddClientError(error);\n } else {\n throw error;\n }\n }\n\n println({ ensureEmptyLineAbove: true })`\n Route {cyanBright ${routePath}} added successfully.\n `;\n};\n\nconst fieldSubCommand = async (ctx: Context<AddArgs>, filesync: FileSync): Promise<void> => {\n const syncJson = filesync.syncJson;\n\n const splitPathAndField = ctx.args._[1]?.split(\"/\");\n\n if (!splitPathAndField) {\n throw new ArgError(sprint`Failed to add field, invalid field path definition\n\n {gray Usage}\n {cyanBright ggt add field <model_path>/<field_name>:<field_type>}`);\n }\n\n const modelFieldsList: { name: string; fieldType: string }[] = [];\n\n if (splitPathAndField[1]) {\n const [modelFields, problems] = parseFieldValues([splitPathAndField[1]]);\n\n if (problems.length > 0) {\n throw new ArgError(sprint`\n Failed to add field:\n \u2022 ${problems.join(\"\\n \u2022\")}\n\n {gray Usage}\n {cyanBright ggt add field ${splitPathAndField[0]}/<field_name>:<field_type>}`);\n }\n\n modelFieldsList.push(...modelFields);\n } else {\n throw new ArgError(sprint`Failed to add field, invalid field definition\n\n {gray Usage}\n {cyanBright ggt add field ${splitPathAndField[0]}/<field_name>:<field_type>}`);\n }\n\n try {\n const result = (\n await syncJson.edit.mutate({\n mutation: CREATE_MODEL_FIELDS_MUTATION,\n variables: {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n path: splitPathAndField[0]!,\n fields: modelFieldsList.map((field) => ({\n name: field.name,\n fieldType: field.fieldType,\n })),\n },\n })\n ).createModelFields;\n\n await filesync.writeToLocalFilesystem(ctx, {\n filesVersion: result.remoteFilesVersion,\n files: result.changed,\n delete: [],\n });\n } catch (error) {\n if (error instanceof ClientError) {\n throw new AddClientError(error);\n } else {\n throw error;\n }\n }\n\n println({ ensureEmptyLineAbove: true })`\n Field {cyanBright ${modelFieldsList[0]?.name}} added successfully.\n `;\n};\n"],
5
- "mappings": "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",
6
- "names": ["init_cjs", "AddClientError", "GGTError", "IsBug", "error", "template", "isGraphQLErrors", "errors", "uniq", "x", "sprint", "e", "source_default", "symbol", "args", "SyncJsonArgs", "usage", "run", "ctx", "directory", "loadSyncJsonDirectory", "syncJson", "SyncJson", "UnknownDirectoryError", "filesync", "FileSync", "hashes", "println", "ts", "actionType", "modelSubCommand", "actionSubCommand", "routeSubCommand", "fieldSubCommand", "parseFieldValues", "fields", "problems", "modelFields", "field", "matches", "sprint", "modelSubCommand", "ctx", "filesync", "syncJson", "modelApiIdentifier", "ArgError", "modelFieldsList", "result", "CREATE_MODEL_MUTATION", "error", "ClientError", "AddClientError", "println", "source_default", "modelPrintout", "terminalLink", "symbol", "actionSubCommand", "path", "models", "getModels", "globalActions", "getGlobalActions", "splitPath", "overrideContextAction", "parsedPaths", "parsedAction", "conflictingModel", "model", "modelName", "conflictingActionNamespace", "action", "joinedParsedPaths", "select", "choice", "CREATE_ACTION_MUTATION", "routeSubCommand", "routeMethod", "routePath", "CREATE_ROUTE_MUTATION", "fieldSubCommand", "splitPathAndField", "CREATE_MODEL_FIELDS_MUTATION"]
7
- }
@@ -1,8 +0,0 @@
1
- import{c as d}from"./chunk-AQRCAWW4.js";import{N as t,Q as c,S as H,T,V as A,b as s,g as l}from"./chunk-GBCD37US.js";import{c as O,e as S,g as i}from"./chunk-5WC5D4WL.js";var I=O((F,M)=>{M.exports={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}}});var L=O((J,B)=>{"use strict";i();var o=Object.assign({},I()),N=Object.keys(o);Object.defineProperty(o,"random",{get(){let a=Math.floor(Math.random()*N.length),n=N[a];return o[n]}});B.exports=o});i();var g=S(L(),1),b=S(H(),1);import $ from"node:assert";import z from"node:os";var m,q=a=>(n,...R)=>{if(T(n))return q({...a,...n});$(!m,"a spinner is already active");let _=n;l(_)||(_=A(_,...R));let{ensureNewLine:W=!0,ensureEmptyLineAbove:y=!1,kind:h="dots",color:j="white",successSymbol:P=s.green(d.tick),failSymbol:C=s.red(d.cross)}=a,f=0,w=g.default[h].frames,D=g.default[h].interval,k=!0,v=({symbol:r,message:e,final:E=!1})=>{for(;e.startsWith(`
2
- `);)e=e.slice(1);for(;e.endsWith(`
3
- `);)e=e.slice(0,-1);if(r===void 0&&(f=++f%w.length,r=s[j](w[f])),e){if(r){let u=e.split(/\r?\n/);u[0]=`${r} ${u[0]}`,e=u.join(z.EOL)}y&&!e.startsWith(`
4
- `)&&(e=`
5
- `+e),W&&!e.endsWith(`
6
- `)&&(e+=`
7
- `)}if(E){!t.isInteractive&&y&&(e=e.slice(1)),t.persistSpinner(e),m=void 0;return}t.isInteractive?t.updateSpinner(e):k&&(t.writeStdout(e),k=!1)};v({message:_});let x;t.isInteractive&&(x=setInterval(()=>v({message:_}),D));let p=r=>{v({...r,final:!0}),clearInterval(x)};return m={text:_,clear(){this.text="",p({symbol:"",message:""})},succeed(r,...e){r??=_,l(r)||(r=(0,b.dedent)(c(r,...e))),this.text=r,p({message:r,symbol:P})},fail(r,...e){r??=_,l(r)||(r=(0,b.dedent)(c(r,...e))),this.text=r,p({message:r,symbol:C})}},m},re=q({});export{m as a,re as b};
8
- //# sourceMappingURL=chunk-APHXRHNI.js.map