├── Apps
├── docs
│ ├── static
│ │ ├── .nojekyll
│ │ └── img
│ │ │ ├── favicon.ico
│ │ │ ├── docusaurus.png
│ │ │ ├── docusaurus-social-card.jpg
│ │ │ ├── QuackScriptLogoHorizontal.png
│ │ │ ├── logo.svg
│ │ │ └── undraw_docusaurus_tree.svg
│ ├── babel.config.js
│ ├── docs
│ │ ├── Guide
│ │ │ ├── _category_.json
│ │ │ ├── ControlFlow.md
│ │ │ ├── Functions.md
│ │ │ └── GrammarAndTypes.md
│ │ ├── Reference
│ │ │ └── Variables.md
│ │ └── GetStarted.md
│ ├── tsconfig.json
│ ├── i18n
│ │ ├── en
│ │ │ ├── docusaurus-theme-classic
│ │ │ │ ├── navbar.json
│ │ │ │ └── footer.json
│ │ │ ├── docusaurus-plugin-content-docs
│ │ │ │ └── current.json
│ │ │ └── code.json
│ │ ├── es
│ │ │ ├── docusaurus-theme-classic
│ │ │ │ ├── navbar.json
│ │ │ │ └── footer.json
│ │ │ ├── docusaurus-plugin-content-docs
│ │ │ │ ├── current
│ │ │ │ │ ├── GetStarted.md
│ │ │ │ │ └── Guide
│ │ │ │ │ │ ├── ControlFlow.md
│ │ │ │ │ │ ├── Functions.md
│ │ │ │ │ │ └── GrammarAndTypes.md
│ │ │ │ └── current.json
│ │ │ └── code.json
│ │ └── quack
│ │ │ ├── docusaurus-theme-classic
│ │ │ ├── navbar.json
│ │ │ └── footer.json
│ │ │ ├── docusaurus-plugin-content-docs
│ │ │ ├── current
│ │ │ │ ├── GetStarted.md
│ │ │ │ └── Guide
│ │ │ │ │ ├── ControlFlow.md
│ │ │ │ │ ├── Functions.md
│ │ │ │ │ └── GrammarAndTypes.md
│ │ │ └── current.json
│ │ │ └── code.json
│ ├── .gitignore
│ ├── sidebars.js
│ ├── README.md
│ ├── package.json
│ └── docusaurus.config.js
└── web
│ ├── src
│ ├── vite-env.d.ts
│ ├── components
│ │ ├── molecules
│ │ │ └── CodeEditor
│ │ │ │ ├── style.css
│ │ │ │ └── index.tsx
│ │ ├── pages
│ │ │ ├── Home
│ │ │ │ └── index.tsx
│ │ │ └── HomeSections
│ │ │ │ ├── PlatformSection
│ │ │ │ └── index.tsx
│ │ │ │ ├── StatsSection
│ │ │ │ └── index.tsx
│ │ │ │ ├── GameDemoSection
│ │ │ │ └── index.tsx
│ │ │ │ ├── CompaniesSection
│ │ │ │ └── index.tsx
│ │ │ │ ├── CodeSection
│ │ │ │ ├── style.ts
│ │ │ │ └── index.tsx
│ │ │ │ └── Main
│ │ │ │ ├── index.tsx
│ │ │ │ └── style.ts
│ │ ├── template
│ │ │ ├── CenterSectionContainer
│ │ │ │ └── index.tsx
│ │ │ └── Section
│ │ │ │ └── index.tsx
│ │ ├── atoms
│ │ │ ├── Link
│ │ │ │ └── index.tsx
│ │ │ ├── Typography
│ │ │ │ └── index.tsx
│ │ │ └── Button
│ │ │ │ └── index.tsx
│ │ └── organism
│ │ │ ├── QuackScriptEditor
│ │ │ ├── style.ts
│ │ │ └── index.tsx
│ │ │ └── Header
│ │ │ ├── style.ts
│ │ │ └── index.tsx
│ ├── main.tsx
│ ├── theme.d.ts
│ ├── commonTheme
│ │ └── theme.ts
│ ├── App.tsx
│ ├── index.css
│ └── assets
│ │ └── react.svg
│ ├── public
│ ├── img
│ │ ├── DrOctopus.png
│ │ ├── AvatarSimpleMd.png
│ │ ├── DuckAvatarMd.png
│ │ ├── QuackScriptLogoHorizontal.png
│ │ └── QuackScriptLogoHorizontalSm.png
│ └── vite.svg
│ ├── vite.config.ts
│ ├── tsconfig.node.json
│ ├── .gitignore
│ ├── index.html
│ ├── tsconfig.json
│ ├── package.json
│ └── .eslintrc.json
├── _redirects
├── Lib
└── quackscript
│ ├── src
│ ├── stdLibrary
│ │ ├── types.ts
│ │ └── standardLibrary.ts
│ ├── types
│ │ ├── Position.ts
│ │ ├── Token.ts
│ │ └── Lexemes.ts
│ ├── index.ts
│ ├── exception
│ │ ├── ParseException.ts
│ │ ├── SyntaxException.ts
│ │ ├── ControlFlowException.ts
│ │ └── RuntimeException.ts
│ ├── system
│ │ └── index.ts
│ ├── interpreter
│ │ ├── types.ts
│ │ ├── state.ts
│ │ ├── staticPrimitiveAttributes.ts
│ │ └── memory.ts
│ ├── utils
│ │ ├── memory
│ │ │ └── memoryUtils.ts
│ │ └── dataTypes
│ │ │ └── dataTypeUtils.ts
│ ├── lexer
│ │ ├── __tests__
│ │ │ ├── literal.test.ts
│ │ │ ├── keywords.test.ts
│ │ │ ├── lexemes.test.ts
│ │ │ └── math.test.ts
│ │ ├── tokenMap.ts
│ │ └── index.ts
│ └── parser
│ │ ├── Cursor
│ │ └── index.ts
│ │ ├── types.ts
│ │ └── TerminalParser
│ │ └── index.ts
│ ├── jest.config.ts
│ ├── package.json
│ ├── .eslintrc.json
│ └── tsconfig.json
├── readme.md
├── package.json
├── .gitignore
└── LICENSE.md
/Apps/docs/static/.nojekyll:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Apps/web/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/_redirects:
--------------------------------------------------------------------------------
1 | /docs/* /out/docs/:splat 200
2 | /* /out/web/:splat 200
3 |
--------------------------------------------------------------------------------
/Lib/quackscript/src/stdLibrary/types.ts:
--------------------------------------------------------------------------------
1 | export const standardLibraryIdentifier = [
2 | 'quackprint'
3 | ];
--------------------------------------------------------------------------------
/Apps/docs/static/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PatitoDev/QuackScript/HEAD/Apps/docs/static/img/favicon.ico
--------------------------------------------------------------------------------
/Apps/web/public/img/DrOctopus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PatitoDev/QuackScript/HEAD/Apps/web/public/img/DrOctopus.png
--------------------------------------------------------------------------------
/Apps/docs/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
3 | };
4 |
--------------------------------------------------------------------------------
/Apps/docs/static/img/docusaurus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PatitoDev/QuackScript/HEAD/Apps/docs/static/img/docusaurus.png
--------------------------------------------------------------------------------
/Apps/web/public/img/AvatarSimpleMd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PatitoDev/QuackScript/HEAD/Apps/web/public/img/AvatarSimpleMd.png
--------------------------------------------------------------------------------
/Apps/web/public/img/DuckAvatarMd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PatitoDev/QuackScript/HEAD/Apps/web/public/img/DuckAvatarMd.png
--------------------------------------------------------------------------------
/Lib/quackscript/src/types/Position.ts:
--------------------------------------------------------------------------------
1 | export interface Position {
2 | globalChar: number,
3 | line: number,
4 | lineChar: number
5 | }
--------------------------------------------------------------------------------
/Apps/docs/docs/Guide/_category_.json:
--------------------------------------------------------------------------------
1 | {
2 | "label": "Guide",
3 | "position": 2,
4 | "link": {
5 | "type": "generated-index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Apps/docs/static/img/docusaurus-social-card.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PatitoDev/QuackScript/HEAD/Apps/docs/static/img/docusaurus-social-card.jpg
--------------------------------------------------------------------------------
/Apps/docs/docs/Reference/Variables.md:
--------------------------------------------------------------------------------
1 | ---
2 | sidebar_position: 1
3 | ---
4 |
5 | # Variables
6 |
7 | ```
8 | quack variableName <- 'hello world'🦆
9 | ```
--------------------------------------------------------------------------------
/Apps/docs/static/img/QuackScriptLogoHorizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PatitoDev/QuackScript/HEAD/Apps/docs/static/img/QuackScriptLogoHorizontal.png
--------------------------------------------------------------------------------
/Apps/web/public/img/QuackScriptLogoHorizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PatitoDev/QuackScript/HEAD/Apps/web/public/img/QuackScriptLogoHorizontal.png
--------------------------------------------------------------------------------
/Apps/web/public/img/QuackScriptLogoHorizontalSm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PatitoDev/QuackScript/HEAD/Apps/web/public/img/QuackScriptLogoHorizontalSm.png
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # QuackScript
2 | In development, syntax *WILL* change.
3 |
4 | Webpage: https://quackscript.com
5 |
6 | Documentation: https://quackscript.com/docs
--------------------------------------------------------------------------------
/Apps/web/src/components/molecules/CodeEditor/style.css:
--------------------------------------------------------------------------------
1 | .editor {
2 | border-radius: 3px;
3 | padding: 0.5em;
4 | background-color: rgb(228, 228, 228);
5 | }
--------------------------------------------------------------------------------
/Apps/web/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite';
2 | import react from '@vitejs/plugin-react-swc';
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | });
8 |
--------------------------------------------------------------------------------
/Lib/quackscript/src/types/Token.ts:
--------------------------------------------------------------------------------
1 | import { Lexemes } from './Lexemes';
2 | import { Position } from './Position';
3 |
4 | export interface Token {
5 | value: string,
6 | position: Position,
7 | type: Lexemes,
8 | }
--------------------------------------------------------------------------------
/Apps/docs/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | // This file is not used in compilation. It is here just for a nice editor experience.
3 | "extends": "@tsconfig/docusaurus/tsconfig.json",
4 | "compilerOptions": {
5 | "baseUrl": "."
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Apps/web/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "ESNext",
5 | "moduleResolution": "Node",
6 | "allowSyntheticDefaultImports": true
7 | },
8 | "include": ["vite.config.ts"]
9 | }
10 |
--------------------------------------------------------------------------------
/Apps/web/src/components/pages/Home/index.tsx:
--------------------------------------------------------------------------------
1 | import CodeSection from '../HomeSections/CodeSection';
2 | import MainHome from '../HomeSections/Main';
3 |
4 | const Home = () => (
5 | <>
6 |
7 |
8 | >
9 | );
10 |
11 | export default Home;
--------------------------------------------------------------------------------
/Lib/quackscript/src/index.ts:
--------------------------------------------------------------------------------
1 | import P from './parser';
2 | import I from './interpreter';
3 | import L from './lexer';
4 |
5 | export const Parser = P;
6 | export const Interpreter = I;
7 | export const Lexer = L;
8 |
9 | const QuackScript = {
10 | };
11 |
12 | export default QuackScript;
--------------------------------------------------------------------------------
/Apps/docs/i18n/en/docusaurus-theme-classic/navbar.json:
--------------------------------------------------------------------------------
1 | {
2 | "logo.alt": {
3 | "message": "The JS killer",
4 | "description": "The alt text of navbar logo"
5 | },
6 | "item.label.GitHub": {
7 | "message": "GitHub",
8 | "description": "Navbar item with label GitHub"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Apps/docs/i18n/es/docusaurus-theme-classic/navbar.json:
--------------------------------------------------------------------------------
1 | {
2 | "logo.alt": {
3 | "message": "The JS killer",
4 | "description": "The alt text of navbar logo"
5 | },
6 | "item.label.GitHub": {
7 | "message": "GitHub",
8 | "description": "Navbar item with label GitHub"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Apps/docs/i18n/quack/docusaurus-theme-classic/navbar.json:
--------------------------------------------------------------------------------
1 | {
2 | "logo.alt": {
3 | "message": "quack quack quack",
4 | "description": "The alt text of navbar logo"
5 | },
6 | "item.label.GitHub": {
7 | "message": "quack",
8 | "description": "Navbar item with label GitHub"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Apps/docs/.gitignore:
--------------------------------------------------------------------------------
1 | # Dependencies
2 | /node_modules
3 |
4 | # Production
5 | /build
6 |
7 | # Generated files
8 | .docusaurus
9 | .cache-loader
10 |
11 | # Misc
12 | .DS_Store
13 | .env.local
14 | .env.development.local
15 | .env.test.local
16 | .env.production.local
17 |
18 | npm-debug.log*
19 | yarn-debug.log*
20 | yarn-error.log*
21 |
--------------------------------------------------------------------------------
/Apps/docs/docs/GetStarted.md:
--------------------------------------------------------------------------------
1 | ---
2 | sidebar_position: 1
3 | slug: /
4 | ---
5 |
6 | # Quackscript
7 |
8 | :::danger In Development
9 | Quackscript is still in development so things **will** change
10 | :::
11 |
12 | ## Getting Started
13 |
14 | Get started in the quackscript playground **[Quackscript Playground](https://quackscript.com)**.
15 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "quackscript-mono",
3 | "version": "1.0.0",
4 | "license": "MIT",
5 | "private": true,
6 | "workspaces": [
7 | "Apps/*",
8 | "Lib/*"
9 | ],
10 | "scripts": {
11 | "build": "yarn --cwd ./Apps/web build --outDir=../../out/web & yarn --cwd ./Apps/docs build --out-dir ../../out/docs"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | out
2 | node_modules
3 | yarn-error.log
4 | *.log
5 | build
6 |
7 | !**/glob-import/dir/node_modules
8 | .DS_Store
9 | .idea
10 | *.cpuprofile
11 | *.local
12 | *.log
13 | /.vscode/
14 | /docs/.vitepress/cache
15 | /packages/vite/LICENSE
16 | dist
17 | dist-ssr
18 | explorations
19 | node_modules
20 | playground-temp
21 | temp
22 | TODOs.md
23 | .eslintcache
--------------------------------------------------------------------------------
/Apps/docs/i18n/quack/docusaurus-plugin-content-docs/current/GetStarted.md:
--------------------------------------------------------------------------------
1 | ---
2 | sidebar_position: 1
3 | slug: /
4 | ---
5 |
6 | # Quackscript
7 |
8 | :::danger Quack quack
9 | Quack quack quack quack quack quack quack **quack** quack
10 | :::
11 |
12 | ## Quack quack
13 |
14 | Quack quack quack quack quackscript quack **[Quack quack](https://quackscript.com)**.
15 |
--------------------------------------------------------------------------------
/Lib/quackscript/jest.config.ts:
--------------------------------------------------------------------------------
1 | /*
2 | * For a detailed explanation regarding each configuration property and type check, visit:
3 | * https://jestjs.io/docs/configuration
4 | */
5 |
6 | export default {
7 | clearMocks: true,
8 | collectCoverage: false,
9 | coverageDirectory: 'coverage',
10 | coverageProvider: 'v8',
11 | preset: 'ts-jest',
12 | };
13 |
--------------------------------------------------------------------------------
/Apps/web/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/Apps/web/src/components/pages/HomeSections/PlatformSection/index.tsx:
--------------------------------------------------------------------------------
1 | import Typography from '../../../atoms/Typography';
2 | import Section from '../../../template/Section';
3 |
4 | const PlatformSection = () => (
5 |
10 | );
11 |
12 | export default PlatformSection;
--------------------------------------------------------------------------------
/Apps/docs/i18n/es/docusaurus-plugin-content-docs/current/GetStarted.md:
--------------------------------------------------------------------------------
1 | ---
2 | sidebar_position: 1
3 | slug: /
4 | ---
5 |
6 | # Quackscript
7 |
8 | :::danger En Desarrollo
9 | QuackScript aún está en desarrollo, así que las cosas **cambiarán**
10 | :::
11 |
12 | ## Comenzando
13 |
14 | Comenzar en el playground de QuackScript **[Playground de QuackScript](https://quackscript.com)**.
15 |
--------------------------------------------------------------------------------
/Apps/web/src/main.tsx:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom/client';
2 | import { ThemeProvider } from 'styled-components';
3 | import App from './App';
4 | import { theme } from './commonTheme/theme';
5 | import './index.css';
6 |
7 | ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
8 |
9 |
10 |
11 | );
12 |
--------------------------------------------------------------------------------
/Apps/web/src/components/pages/HomeSections/StatsSection/index.tsx:
--------------------------------------------------------------------------------
1 | import Typography from '../../../atoms/Typography';
2 | import Section from '../../../template/Section';
3 |
4 | const StatsSection = () => (
5 |
6 |
7 | The numbers speak for themselves
8 |
9 |
10 | );
11 |
12 | export default StatsSection;
--------------------------------------------------------------------------------
/Apps/web/src/theme.d.ts:
--------------------------------------------------------------------------------
1 | import 'styled-components';
2 |
3 | declare module 'styled-components' {
4 | export interface DefaultTheme {
5 | colors: {
6 | primary: string,
7 | black: string,
8 | gray: string,
9 | darkGray: string,
10 | white: string
11 | },
12 | media: {
13 | mobile: string,
14 | }
15 | sizes: {
16 | desktopMaxWidth: string
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/Apps/web/src/components/pages/HomeSections/GameDemoSection/index.tsx:
--------------------------------------------------------------------------------
1 | import Typography from '../../../atoms/Typography';
2 | import Section from '../../../template/Section';
3 |
4 | const GameDemoSection = () => (
5 |
6 |
7 | Build powerful 2D games
8 |
9 |
10 | );
11 |
12 | export default GameDemoSection;
--------------------------------------------------------------------------------
/Apps/web/src/commonTheme/theme.ts:
--------------------------------------------------------------------------------
1 | import { DefaultTheme } from 'styled-components';
2 |
3 | export const theme: DefaultTheme = {
4 | colors: {
5 | black: '#1B1A1D',
6 | gray: '#999999',
7 | primary: '#FFD953',
8 | white: '#E4E4E4',
9 | darkGray: '#313034',
10 | },
11 | media: {
12 | mobile: 'max-width: 800px',
13 | },
14 | sizes: {
15 | desktopMaxWidth: '1500px',
16 | }
17 | };
--------------------------------------------------------------------------------
/Apps/web/src/components/pages/HomeSections/CompaniesSection/index.tsx:
--------------------------------------------------------------------------------
1 | import Typography from '../../../atoms/Typography';
2 | import Section from '../../../template/Section';
3 |
4 | const CompaniesSection = () => (
5 |
6 |
7 | Companies using QuackScript
8 |
9 |
10 | );
11 |
12 | export default CompaniesSection;
--------------------------------------------------------------------------------
/Apps/web/src/components/pages/HomeSections/CodeSection/style.ts:
--------------------------------------------------------------------------------
1 | import styled from 'styled-components';
2 | import { CenterSectionContainer } from '../../../template/CenterSectionContainer';
3 |
4 | export const CodeSectionContainer = styled(CenterSectionContainer)`
5 | flex-direction: column;
6 | padding-left: 0;
7 | padding-right: 0;
8 |
9 | > * {
10 | margin: 0 0.8em;
11 | }
12 |
13 | > :first-child {
14 | margin: 0 2em;
15 | }
16 | `;
--------------------------------------------------------------------------------
/Lib/quackscript/src/exception/ParseException.ts:
--------------------------------------------------------------------------------
1 | import { Position } from '../types/Position';
2 |
3 | export class ParseException {
4 |
5 | public placement: Position;
6 |
7 | public message: string;
8 |
9 | constructor(placement: Position, message:string){
10 | this.placement = placement;
11 | this.message = message;
12 | }
13 |
14 | toString() {
15 | return `Parse Error: In line ${this.placement.line} at char ${this.placement.lineChar} \n ${this.message}`;
16 | }
17 | }
--------------------------------------------------------------------------------
/Lib/quackscript/src/exception/SyntaxException.ts:
--------------------------------------------------------------------------------
1 | import { Position } from '../types/Position';
2 |
3 | export class SyntaxException {
4 |
5 | public placement: Position;
6 |
7 | public message: string;
8 |
9 | constructor(placement: Position, message:string){
10 | this.placement = placement;
11 | this.message = message;
12 | }
13 |
14 | toString() {
15 | return `Syntax Error: In line ${this.placement.line} at char ${this.placement.lineChar} \n ${this.message}`;
16 | }
17 | }
--------------------------------------------------------------------------------
/Apps/docs/i18n/en/docusaurus-plugin-content-docs/current.json:
--------------------------------------------------------------------------------
1 | {
2 | "version.label": {
3 | "message": "Next",
4 | "description": "The label for version current"
5 | },
6 | "sidebar.tutorialSidebar.category.Guide": {
7 | "message": "Guide",
8 | "description": "The label for category Guide in sidebar tutorialSidebar"
9 | },
10 | "sidebar.tutorialSidebar.category.Reference": {
11 | "message": "Reference",
12 | "description": "The label for category Reference in sidebar tutorialSidebar"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Apps/docs/i18n/es/docusaurus-plugin-content-docs/current.json:
--------------------------------------------------------------------------------
1 | {
2 | "version.label": {
3 | "message": "Next",
4 | "description": "The label for version current"
5 | },
6 | "sidebar.tutorialSidebar.category.Guide": {
7 | "message": "Guide",
8 | "description": "The label for category Guide in sidebar tutorialSidebar"
9 | },
10 | "sidebar.tutorialSidebar.category.Reference": {
11 | "message": "Reference",
12 | "description": "The label for category Reference in sidebar tutorialSidebar"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Apps/docs/i18n/quack/docusaurus-plugin-content-docs/current.json:
--------------------------------------------------------------------------------
1 | {
2 | "version.label": {
3 | "message": "Quack",
4 | "description": "The label for version current"
5 | },
6 | "sidebar.tutorialSidebar.category.Guide": {
7 | "message": "Quack",
8 | "description": "The label for category Guide in sidebar tutorialSidebar"
9 | },
10 | "sidebar.tutorialSidebar.category.Reference": {
11 | "message": "Quack",
12 | "description": "The label for category Reference in sidebar tutorialSidebar"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Apps/web/src/components/template/CenterSectionContainer/index.tsx:
--------------------------------------------------------------------------------
1 | import styled from 'styled-components';
2 |
3 |
4 | export const CenterSectionContainer = styled.div`
5 | display: flex;
6 | flex-direction: row;
7 | max-width: ${({ theme }) => theme.sizes.desktopMaxWidth};
8 | width: 100%;
9 | margin: auto;
10 |
11 | @media screen and (${({ theme }) => theme.media.mobile}) {
12 | max-width: 100%;
13 | }
14 |
15 | @media screen and not (${({ theme }) => theme.media.mobile}) {
16 | padding: 0 2em;
17 | }
18 | `;
--------------------------------------------------------------------------------
/Lib/quackscript/src/exception/ControlFlowException.ts:
--------------------------------------------------------------------------------
1 | import { Value } from '../interpreter/types';
2 |
3 | export type ControlFlowType = 'Break' | 'Return' | 'Continue';
4 |
5 | // Break
6 | // Continue
7 | // Return
8 | export class ControlFlowException {
9 |
10 | public type: ControlFlowType;
11 | public data: Value;
12 |
13 | constructor (type: ControlFlowType, data?: Value | null | void) {
14 | this.type = type;
15 | this.data = data ?? {
16 | type: 'NothingLiteral',
17 | } as Value;
18 | }
19 | }
--------------------------------------------------------------------------------
/Apps/web/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { createGlobalStyle } from 'styled-components';
2 | import Header from './components/organism/Header';
3 | import Home from './components/pages/Home';
4 |
5 | const GlobalStyle = createGlobalStyle`
6 | html, body {
7 | min-height: 100vh;
8 | background-color: ${({ theme }) => theme.colors.white};
9 | }
10 | `;
11 |
12 | function App() {
13 | return (
14 | <>
15 |
16 |
17 |
18 | >
19 | );
20 | }
21 |
22 | export default App;
23 |
--------------------------------------------------------------------------------
/Apps/web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
QuackScript - The JS killer
8 |
9 |
10 |
11 |
12 |
13 |
14 |