Compare commits
1 Commits
dev
...
043759f707
Author | SHA1 | Date | |
---|---|---|---|
043759f707 |
20
lib/snippets/database/classes/Column.ts
Normal file
20
lib/snippets/database/classes/Column.ts
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* Copyright (C) SapphireCode - All Rights Reserved
|
||||
* This file is part of Snippeteer which is released under BSD-3-Clause.
|
||||
* See file 'LICENSE' for full license details.
|
||||
* Created by Timo Hocker <timo@scode.ovh>, May 2020
|
||||
*/
|
||||
|
||||
import { ColumnType } from './ColumnType';
|
||||
import { Relation } from './Relation';
|
||||
|
||||
export class Column {
|
||||
public name: string;
|
||||
public type: ColumnType;
|
||||
public relation?: Relation;
|
||||
|
||||
public constructor (name: string, type: ColumnType) {
|
||||
this.name = name;
|
||||
this.type = type;
|
||||
}
|
||||
}
|
27
lib/snippets/database/classes/ColumnType.ts
Normal file
27
lib/snippets/database/classes/ColumnType.ts
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Copyright (C) SapphireCode - All Rights Reserved
|
||||
* This file is part of Snippeteer which is released under BSD-3-Clause.
|
||||
* See file 'LICENSE' for full license details.
|
||||
* Created by Timo Hocker <timo@scode.ovh>, May 2020
|
||||
*/
|
||||
|
||||
export enum ColumnType {
|
||||
string = 'string',
|
||||
text = 'text',
|
||||
integer = 'integer',
|
||||
big_integer = 'bigInteger',
|
||||
float = 'float',
|
||||
decimal = 'decimal',
|
||||
increments = 'increments',
|
||||
big_increments = 'bigIncrements',
|
||||
boolean = 'boolean',
|
||||
date = 'date',
|
||||
date_time ='datetime',
|
||||
time = 'time',
|
||||
timestamp = 'timestamp',
|
||||
binary = 'binary',
|
||||
enum = 'enu',
|
||||
json='json',
|
||||
jsonb='jsonb',
|
||||
uuid='uuid'
|
||||
}
|
21
lib/snippets/database/classes/Database.ts
Normal file
21
lib/snippets/database/classes/Database.ts
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright (C) SapphireCode - All Rights Reserved
|
||||
* This file is part of Snippeteer which is released under BSD-3-Clause.
|
||||
* See file 'LICENSE' for full license details.
|
||||
* Created by Timo Hocker <timo@scode.ovh>, May 2020
|
||||
*/
|
||||
|
||||
import { Table } from './Table';
|
||||
|
||||
export class Database {
|
||||
public tables: Array<Table> = [];
|
||||
|
||||
public get_table (name: string): Table|null {
|
||||
for (const table of this.tables) {
|
||||
if (table.name === name)
|
||||
return table;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
13
lib/snippets/database/classes/PatchAction.ts
Normal file
13
lib/snippets/database/classes/PatchAction.ts
Normal file
@ -0,0 +1,13 @@
|
||||
/*
|
||||
* Copyright (C) SapphireCode - All Rights Reserved
|
||||
* This file is part of Snippeteer which is released under BSD-3-Clause.
|
||||
* See file 'LICENSE' for full license details.
|
||||
* Created by Timo Hocker <timo@scode.ovh>, May 2020
|
||||
*/
|
||||
|
||||
import { Database } from './Database';
|
||||
|
||||
export interface PatchAction {
|
||||
apply(db: Database): void;
|
||||
assign_object(obj: Record<string, unknown>):void;
|
||||
}
|
16
lib/snippets/database/classes/Relation.ts
Normal file
16
lib/snippets/database/classes/Relation.ts
Normal file
@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Copyright (C) SapphireCode - All Rights Reserved
|
||||
* This file is part of Snippeteer which is released under BSD-3-Clause.
|
||||
* See file 'LICENSE' for full license details.
|
||||
* Created by Timo Hocker <timo@scode.ovh>, May 2020
|
||||
*/
|
||||
|
||||
export class Relation {
|
||||
public column: string;
|
||||
public table: string;
|
||||
|
||||
public constructor (table: string, column: string) {
|
||||
this.column = column;
|
||||
this.table = table;
|
||||
}
|
||||
}
|
26
lib/snippets/database/classes/Table.ts
Normal file
26
lib/snippets/database/classes/Table.ts
Normal file
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Copyright (C) SapphireCode - All Rights Reserved
|
||||
* This file is part of Snippeteer which is released under BSD-3-Clause.
|
||||
* See file 'LICENSE' for full license details.
|
||||
* Created by Timo Hocker <timo@scode.ovh>, May 2020
|
||||
*/
|
||||
|
||||
import { Column } from './Column';
|
||||
|
||||
export class Table {
|
||||
public name: string;
|
||||
public columns: Array<Column> = [];
|
||||
|
||||
public constructor (name: string) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public get_column (name: string): Column|null {
|
||||
for (const col of this.columns) {
|
||||
if (col.name === name)
|
||||
return col;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
21
lib/snippets/database/index.ts
Normal file
21
lib/snippets/database/index.ts
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright (C) SapphireCode - All Rights Reserved
|
||||
* This file is part of Snippeteer which is released under BSD-3-Clause.
|
||||
* See file 'LICENSE' for full license details.
|
||||
* Created by Timo Hocker <timo@scode.ovh>, May 2020
|
||||
*/
|
||||
|
||||
import { Snippet } from '../../Snippet';
|
||||
import { MainMenu } from './menu/MainMenu';
|
||||
import { Database as DatabaseClass } from './classes/Database';
|
||||
|
||||
export default class Database implements Snippet {
|
||||
public is_active (): boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
public async start (): Promise<void> {
|
||||
await (new MainMenu (new DatabaseClass))
|
||||
.run ();
|
||||
}
|
||||
}
|
21
lib/snippets/database/menu/MainMenu.ts
Normal file
21
lib/snippets/database/menu/MainMenu.ts
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright (C) SapphireCode - All Rights Reserved
|
||||
* This file is part of Snippeteer which is released under BSD-3-Clause.
|
||||
* See file 'LICENSE' for full license details.
|
||||
* Created by Timo Hocker <timo@scode.ovh>, June 2020
|
||||
*/
|
||||
|
||||
import { Database } from '../classes/Database';
|
||||
import { Menu } from './Menu';
|
||||
|
||||
export class MainMenu extends Menu {
|
||||
public constructor (db: Database) {
|
||||
super ('Snippeteer Database');
|
||||
this.register_option ('quit', () => {
|
||||
// noop
|
||||
});
|
||||
this.register_option ('create table', () => {
|
||||
console.log ('table');
|
||||
});
|
||||
}
|
||||
}
|
35
lib/snippets/database/menu/Menu.ts
Normal file
35
lib/snippets/database/menu/Menu.ts
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (C) SapphireCode - All Rights Reserved
|
||||
* This file is part of Snippeteer which is released under BSD-3-Clause.
|
||||
* See file 'LICENSE' for full license details.
|
||||
* Created by Timo Hocker <timo@scode.ovh>, June 2020
|
||||
*/
|
||||
|
||||
import { StringOption } from '@sapphirecode/console-app';
|
||||
|
||||
export class Menu {
|
||||
private _options: Record<string, ()=>void|Promise<void>> = {};
|
||||
private _title: string;
|
||||
|
||||
public constructor (title: string) {
|
||||
this._title = title;
|
||||
}
|
||||
|
||||
public async run (): Promise<void> {
|
||||
const options = Object.keys (this._options);
|
||||
const selected = await (new StringOption ({
|
||||
name: 'menu_select',
|
||||
message: this._title,
|
||||
sources: { console: false },
|
||||
exit_on_interrupt: true,
|
||||
preset: options
|
||||
}))
|
||||
.parse ();
|
||||
if (typeof this._options[selected] !== 'undefined')
|
||||
await new Promise (this._options[selected]);
|
||||
}
|
||||
|
||||
public register_option (name:string, callback:()=>void|Promise<void>): void {
|
||||
this._options[name] = callback;
|
||||
}
|
||||
}
|
16
lib/snippets/database/patch_actions/ActionFactory.ts
Normal file
16
lib/snippets/database/patch_actions/ActionFactory.ts
Normal file
@ -0,0 +1,16 @@
|
||||
import { PatchAction } from '../classes/PatchAction';
|
||||
|
||||
export class ActionFactory {
|
||||
private static _actions: Record<string, (json:string)=>PatchAction> = {};
|
||||
|
||||
public static get (name:string, json:string): PatchAction {
|
||||
return this._actions[name] (json);
|
||||
}
|
||||
|
||||
public static register (
|
||||
name:string,
|
||||
constr: (json:string)=>PatchAction
|
||||
):void {
|
||||
this._actions[name] = constr;
|
||||
}
|
||||
}
|
29
lib/snippets/database/patch_actions/AddTable.ts
Normal file
29
lib/snippets/database/patch_actions/AddTable.ts
Normal file
@ -0,0 +1,29 @@
|
||||
import { Persistent } from '@sapphirecode/modelling';
|
||||
import { PatchAction } from '../classes/PatchAction';
|
||||
import { Database } from '../classes/Database';
|
||||
import { Table } from '../classes/Table';
|
||||
import { Column } from '../classes/Column';
|
||||
import { ColumnType } from '../classes/ColumnType';
|
||||
|
||||
export class AddTable extends Persistent implements PatchAction {
|
||||
public get name ():string {
|
||||
return this.get ('name') as string;
|
||||
}
|
||||
|
||||
public constructor (name:string) {
|
||||
super ();
|
||||
this.properties.name = 'string';
|
||||
|
||||
this.set ('name', name);
|
||||
}
|
||||
|
||||
public apply (db: Database):void {
|
||||
if (typeof db.get_table (this.name) !== 'undefined')
|
||||
throw new Error ('table already exists');
|
||||
|
||||
const table = new Table (this.name);
|
||||
table.columns.push (new Column ('id', ColumnType.increments));
|
||||
|
||||
db.tables.push (table);
|
||||
}
|
||||
}
|
50
lib/snippets/database/patch_actions/PatchActions.ts
Normal file
50
lib/snippets/database/patch_actions/PatchActions.ts
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (C) SapphireCode - All Rights Reserved
|
||||
* This file is part of Snippeteer which is released under BSD-3-Clause.
|
||||
* See file 'LICENSE' for full license details.
|
||||
* Created by Timo Hocker <timo@scode.ovh>, June 2020
|
||||
*/
|
||||
|
||||
import { PatchAction } from '../classes/PatchAction';
|
||||
import { ActionFactory } from './ActionFactory';
|
||||
import { RenameColumn } from './RenameColumn';
|
||||
import { AddTable } from './AddTable';
|
||||
|
||||
|
||||
/*
|
||||
* export { AddColumn } from './AddColumn';
|
||||
* export { DropColumn } from './DropColumn';
|
||||
* export { AddRelation } from './AddRelation';
|
||||
* export { DropRelation } from './DropRelation';
|
||||
* export { SetColumnType } from './SetColumnType';
|
||||
* export { DropTable } from './DropTable';
|
||||
* export { RenameTable } from './RenameTable';
|
||||
* export { InsertData } from './InsertData';
|
||||
* export { UpdateData } from './UpdateData';
|
||||
* export { MutateDate } from './MutateDate';
|
||||
* export { DeleteData } from './DeleteData';
|
||||
*/
|
||||
|
||||
function assign_json (patch:PatchAction, json:string):PatchAction {
|
||||
const obj = JSON.parse (json);
|
||||
patch.assign_object (obj);
|
||||
return patch;
|
||||
}
|
||||
|
||||
function init ():void {
|
||||
ActionFactory.register (
|
||||
'rename_column',
|
||||
(json:string) => assign_json (new RenameColumn ('', '', ''), json)
|
||||
);
|
||||
|
||||
ActionFactory.register (
|
||||
'add_table',
|
||||
(json:string) => assign_json (new AddTable (''), json)
|
||||
);
|
||||
}
|
||||
|
||||
export {
|
||||
init,
|
||||
RenameColumn,
|
||||
AddTable
|
||||
};
|
56
lib/snippets/database/patch_actions/RenameColumn.ts
Normal file
56
lib/snippets/database/patch_actions/RenameColumn.ts
Normal file
@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Copyright (C) SapphireCode - All Rights Reserved
|
||||
* This file is part of Snippeteer which is released under BSD-3-Clause.
|
||||
* See file 'LICENSE' for full license details.
|
||||
* Created by Timo Hocker <timo@scode.ovh>, May 2020
|
||||
*/
|
||||
|
||||
import { Persistent } from '@sapphirecode/modelling';
|
||||
import { PatchAction } from '../classes/PatchAction';
|
||||
import { Database } from '../classes/Database';
|
||||
|
||||
export class RenameColumn extends Persistent implements PatchAction {
|
||||
public get table (): string {
|
||||
return this.get ('table') as string;
|
||||
}
|
||||
|
||||
public get column (): string {
|
||||
return this.get ('column') as string;
|
||||
}
|
||||
|
||||
public get new_name (): string {
|
||||
return this.get ('new_name') as string;
|
||||
}
|
||||
|
||||
public constructor (
|
||||
column: string,
|
||||
new_name: string,
|
||||
table: string
|
||||
) {
|
||||
super ();
|
||||
this.properties.column = 'string';
|
||||
this.properties.table = 'string';
|
||||
this.properties.new_name = 'string';
|
||||
|
||||
this.set ('column', column);
|
||||
this.set ('new_name', new_name);
|
||||
this.set ('table', table);
|
||||
}
|
||||
|
||||
public apply (db: Database): void {
|
||||
const table = db.get_table (this.table);
|
||||
if (typeof table === 'undefined' || table === null) {
|
||||
throw new Error (
|
||||
`table ${this.table} not found`
|
||||
);
|
||||
}
|
||||
const column = table.get_column (this.column);
|
||||
if (typeof column === 'undefined' || column === null) {
|
||||
throw new Error (
|
||||
`column ${this.column} not found in table ${this.table}`
|
||||
);
|
||||
}
|
||||
|
||||
column.name = this.new_name;
|
||||
}
|
||||
}
|
136
yarn.lock
136
yarn.lock
@ -3,23 +3,23 @@
|
||||
|
||||
|
||||
"@babel/code-frame@^7.0.0":
|
||||
version "7.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.3.tgz#324bcfd8d35cd3d47dae18cde63d752086435e9a"
|
||||
integrity sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==
|
||||
version "7.10.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
|
||||
integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
|
||||
dependencies:
|
||||
"@babel/highlight" "^7.10.3"
|
||||
"@babel/highlight" "^7.10.4"
|
||||
|
||||
"@babel/helper-validator-identifier@^7.10.3":
|
||||
version "7.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz#60d9847f98c4cea1b279e005fdb7c28be5412d15"
|
||||
integrity sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==
|
||||
"@babel/helper-validator-identifier@^7.10.4":
|
||||
version "7.10.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
|
||||
integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
|
||||
|
||||
"@babel/highlight@^7.10.3":
|
||||
version "7.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.3.tgz#c633bb34adf07c5c13156692f5922c81ec53f28d"
|
||||
integrity sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==
|
||||
"@babel/highlight@^7.10.4":
|
||||
version "7.10.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
|
||||
integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
|
||||
dependencies:
|
||||
"@babel/helper-validator-identifier" "^7.10.3"
|
||||
"@babel/helper-validator-identifier" "^7.10.4"
|
||||
chalk "^2.0.0"
|
||||
js-tokens "^4.0.0"
|
||||
|
||||
@ -44,9 +44,9 @@
|
||||
integrity sha512-IHjc31WXciQT3hfvdY+M59jBkQp70Fpr04tNDVO5rez2PNv4u8tE6w//CkU+GeBoO9k2ahneSqzjzvlgjyjkGw==
|
||||
|
||||
"@sapphirecode/console-app@^2.0.6":
|
||||
version "2.0.6"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/console-app/-/console-app-2.0.6.tgz#5034a2beddd9d0cb5f29e5b9ffff4c36cc647b31"
|
||||
integrity sha512-dceIFY+hTMzCXpPH2ZIy+zVA7qwt1N7maNL9RjnkZNIoiJicyPnnkF3W8JHubh/i00ejzepXoBf6gJEgDeHclw==
|
||||
version "2.0.7"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/console-app/-/console-app-2.0.7.tgz#f71b2b8a9b78680c536e10a0161133cd8453a3ab"
|
||||
integrity sha512-0vlRVA+mg00n8gIEAHi83zddR8YM75zULPGJvfrr9vEuAE6HcQxUB+Y3iRW2ThrHus5hA1sbrvJUIuv1s5t2Yw==
|
||||
dependencies:
|
||||
"@sapphirecode/modelling" "^1.0.35"
|
||||
"@sapphirecode/utilities" "^1.3.4"
|
||||
@ -56,17 +56,17 @@
|
||||
yargs "^15.3.1"
|
||||
|
||||
"@sapphirecode/eslint-config-es6@^1.1.1":
|
||||
version "1.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/eslint-config-es6/-/eslint-config-es6-1.1.12.tgz#cc38dcbf59c450ac09d8042f3d69cd784005aec9"
|
||||
integrity sha512-X1Okt7kwX9lkJlh9Q2ij2FyWbozz+kdjg5wd0WKTyXx/AWz8o9Y7D3YrH5LlgH5GbaFR+5BnbcOq9c4l2l4n1w==
|
||||
version "1.1.14"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/eslint-config-es6/-/eslint-config-es6-1.1.14.tgz#0a598b364a79f73a44018902944761b936f914d9"
|
||||
integrity sha512-xiNdOVSUeO/S8E730wEoG2dIhfdtSyx4+1a8JDyULUPbUh+GJdVaK44vm0MGbT7Hj+2BV9CvX43xsPYuc9Xn8A==
|
||||
dependencies:
|
||||
"@sapphirecode/eslint-config" "^2.1.2"
|
||||
eslint-plugin-import "^2.20.2"
|
||||
|
||||
"@sapphirecode/eslint-config-ts@^1.0.22":
|
||||
version "1.1.16"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/eslint-config-ts/-/eslint-config-ts-1.1.16.tgz#85b47d5bc5a3ba8ce9f8060cadeaf1bc49e506c2"
|
||||
integrity sha512-iEMIoPXenpXEmukPjarCnY9TLY8e4VUtlexulB7RasVWlov3Kc6opUYPWVHdF1MfyhgGLv3spZOy23dbPt6fDA==
|
||||
version "1.1.17"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/eslint-config-ts/-/eslint-config-ts-1.1.17.tgz#15639d1041f57d2e219088f608eadd52a76f2a08"
|
||||
integrity sha512-U54UC1MGXCC3N8DhXIql1AnjO9qVYt5A3PShXtM0B2wmLwzVyQbA3R3t6hw6hWr+w1Fe4bRlLmBiq0lNOnbtFg==
|
||||
dependencies:
|
||||
"@sapphirecode/eslint-config-es6" "^1.1.1"
|
||||
"@typescript-eslint/eslint-plugin" "^3.0.0"
|
||||
@ -74,36 +74,29 @@
|
||||
eslint-plugin-tsdoc "^0.2.4"
|
||||
|
||||
"@sapphirecode/eslint-config@^2.1.2":
|
||||
version "2.1.12"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/eslint-config/-/eslint-config-2.1.12.tgz#f4ab4bf2b606cdfb056c3f4262ab9c776a7c1274"
|
||||
integrity sha512-AZDW8WZ09+iv3gG5HFakefQseGIEQAgAdr5OQ5paRmyiktdocI2Gd/x2L7xxZoGhoH0WZsA+XgRawOgoaPLLZA==
|
||||
version "2.1.13"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/eslint-config/-/eslint-config-2.1.13.tgz#8d3560f0b4d7033701ba517197cb84fb04cec5c4"
|
||||
integrity sha512-v7/SYPFgvm6tNfaydDM81vOuDgQ3OLk7qvzlUeOm3iQW7efWbM2B6pYukXNxAFZ73aKYnFGEbdJpAfOXkibacg==
|
||||
dependencies:
|
||||
eslint-plugin-node "^11.1.0"
|
||||
eslint-plugin-sort-requires-by-path "^1.0.2"
|
||||
|
||||
"@sapphirecode/modelling@^1.0.35":
|
||||
version "1.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/modelling/-/modelling-1.1.5.tgz#71b1ec6a8938ad4e8a3ea13bd6bd9d54eaabedcd"
|
||||
integrity sha512-5MkawJexd0FzcFDlD+bt/mmNuwtjRyMqntHHKpieov2pU4HJxJoQL1k5gnrDmKittXZsl2OOweNi/Xa2cYxmCA==
|
||||
dependencies:
|
||||
"@sapphirecode/utilities" "^1.3.2"
|
||||
|
||||
"@sapphirecode/modelling@^1.1.6":
|
||||
version "1.1.6"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/modelling/-/modelling-1.1.6.tgz#84b1b760e07a8fa3da326b7b973b23f52e149a0e"
|
||||
integrity sha512-WxuMUNHtcC0wbPXtgzi5JX1mjFZbmoWpwCP3iICja3K6ecu4ptk7npnDM3klL+kThq9CMWAIffOheo4y5b4Cgg==
|
||||
"@sapphirecode/modelling@^1.0.35", "@sapphirecode/modelling@^1.1.6":
|
||||
version "1.1.7"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/modelling/-/modelling-1.1.7.tgz#ffc51242123473589f733c93b854db3f1066aa32"
|
||||
integrity sha512-swigCD1agDd/O/u64LpDhzgRgnu+FbXekxqmKsb2rfvAV2DPil95vNSmb7Po20dpWaQUsC5ULlkZKOvoJ0FuNg==
|
||||
dependencies:
|
||||
"@sapphirecode/utilities" "^1.3.2"
|
||||
|
||||
"@sapphirecode/standard@^1.0.1":
|
||||
version "1.1.8"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/standard/-/standard-1.1.8.tgz#07c48ea91c7d1555d0110419d5eeeb6f2d11b246"
|
||||
integrity sha512-O3dO6fujxlnR/7DoRpLB5NtTG4FMnRgDN0574rAT9oaUsL2rf3rpinlyeB2V36C8wtpihbcAw7zA5FSEPO3sdw==
|
||||
version "1.1.9"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/standard/-/standard-1.1.9.tgz#e2196657024c92a98dd0643c3716673ded07cb99"
|
||||
integrity sha512-WZxcjXErsnrjMSkuGA8Jc9kWY0w7hOHAyhflMxm7L+X7tNs33PRzO6mDHEFyYqsPs11Sf4023cTTLqo7mll1zg==
|
||||
|
||||
"@sapphirecode/utilities@^1.3.2", "@sapphirecode/utilities@^1.3.4":
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/utilities/-/utilities-1.5.1.tgz#d7e5a3791aa558bf968bb201ab3cc34b60d3e650"
|
||||
integrity sha512-CU19QMj6WjUuup5mpKK6QOY/NROIUBpoQ1pOokmD7J3wd7NND9xntU9bnzSxrPc5OfhqY5r+S30+hdrEsoAXbA==
|
||||
version "1.7.2"
|
||||
resolved "https://registry.yarnpkg.com/@sapphirecode/utilities/-/utilities-1.7.2.tgz#526eb051fe34b6bcfb10c0fae4297fce66cb8db3"
|
||||
integrity sha512-pB41gQC9pqEf0RHDlUowvW1iTsFx5Dd72/auVSaGZN6vriKtBNYSLmXAqN+S5Xdtiex6+iMso+ybBzz9oeL6TQ==
|
||||
|
||||
"@types/color-name@^1.1.1":
|
||||
version "1.1.1"
|
||||
@ -138,50 +131,65 @@
|
||||
integrity sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==
|
||||
|
||||
"@typescript-eslint/eslint-plugin@^3.0.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.4.0.tgz#8378062e6be8a1d049259bdbcf27ce5dfbeee62b"
|
||||
integrity sha512-wfkpiqaEVhZIuQRmudDszc01jC/YR7gMSxa6ulhggAe/Hs0KVIuo9wzvFiDbG3JD5pRFQoqnf4m7REDsUvBnMQ==
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.5.0.tgz#e7736e0808b5fb947a5f9dd949ae6736a7226b84"
|
||||
integrity sha512-m4erZ8AkSjoIUOf8s4k2V1xdL2c1Vy0D3dN6/jC9d7+nEqjY3gxXCkgi3gW/GAxPaA4hV8biaCoTVdQmfAeTCQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/experimental-utils" "3.4.0"
|
||||
"@typescript-eslint/experimental-utils" "3.5.0"
|
||||
debug "^4.1.1"
|
||||
functional-red-black-tree "^1.0.1"
|
||||
regexpp "^3.0.0"
|
||||
semver "^7.3.2"
|
||||
tsutils "^3.17.1"
|
||||
|
||||
"@typescript-eslint/experimental-utils@3.4.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.4.0.tgz#8a44dfc6fb7f1d071937b390fe27608ebda122b8"
|
||||
integrity sha512-rHPOjL43lOH1Opte4+dhC0a/+ks+8gOBwxXnyrZ/K4OTAChpSjP76fbI8Cglj7V5GouwVAGaK+xVwzqTyE/TPw==
|
||||
"@typescript-eslint/experimental-utils@3.5.0":
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.5.0.tgz#d09f9ffb890d1b15a7ffa9975fae92eee05597c4"
|
||||
integrity sha512-zGNOrVi5Wz0jcjUnFZ6QUD0MCox5hBuVwemGCew2qJzUX5xPoyR+0EzS5qD5qQXL/vnQ8Eu+nv03tpeFRwLrDg==
|
||||
dependencies:
|
||||
"@types/json-schema" "^7.0.3"
|
||||
"@typescript-eslint/typescript-estree" "3.4.0"
|
||||
"@typescript-eslint/types" "3.5.0"
|
||||
"@typescript-eslint/typescript-estree" "3.5.0"
|
||||
eslint-scope "^5.0.0"
|
||||
eslint-utils "^2.0.0"
|
||||
|
||||
"@typescript-eslint/parser@^3.0.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.4.0.tgz#fe52b68c5cb3bba3f5d875bd17adb70420d49d8d"
|
||||
integrity sha512-ZUGI/de44L5x87uX5zM14UYcbn79HSXUR+kzcqU42gH0AgpdB/TjuJy3m4ezI7Q/jk3wTQd755mxSDLhQP79KA==
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.5.0.tgz#9ff8c11877c48df24e10e19d7bf542ee0359500d"
|
||||
integrity sha512-sU07VbYB70WZHtgOjH/qfAp1+OwaWgrvD1Km1VXqRpcVxt971PMTU7gJtlrCje0M+Sdz7xKAbtiyIu+Y6QdnVA==
|
||||
dependencies:
|
||||
"@types/eslint-visitor-keys" "^1.0.0"
|
||||
"@typescript-eslint/experimental-utils" "3.4.0"
|
||||
"@typescript-eslint/typescript-estree" "3.4.0"
|
||||
"@typescript-eslint/experimental-utils" "3.5.0"
|
||||
"@typescript-eslint/types" "3.5.0"
|
||||
"@typescript-eslint/typescript-estree" "3.5.0"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
"@typescript-eslint/typescript-estree@3.4.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.4.0.tgz#6a787eb70b48969e4cd1ea67b057083f96dfee29"
|
||||
integrity sha512-zKwLiybtt4uJb4mkG5q2t6+W7BuYx2IISiDNV+IY68VfoGwErDx/RfVI7SWL4gnZ2t1A1ytQQwZ+YOJbHHJ2rw==
|
||||
"@typescript-eslint/types@3.5.0":
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.5.0.tgz#4e3d2a2272268d8ec3e3e4a37152a64956682639"
|
||||
integrity sha512-Dreqb5idi66VVs1QkbAwVeDmdJG+sDtofJtKwKCZXIaBsINuCN7Jv5eDIHrS0hFMMiOvPH9UuOs4splW0iZe4Q==
|
||||
|
||||
"@typescript-eslint/typescript-estree@3.5.0":
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.5.0.tgz#dfc895db21a381b84f24c2a719f5bf9c600dcfdc"
|
||||
integrity sha512-Na71ezI6QP5WVR4EHxwcBJgYiD+Sre9BZO5iJK2QhrmRPo/42+b0no/HZIrdD1sjghzlYv7t+7Jis05M1uMxQg==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "3.5.0"
|
||||
"@typescript-eslint/visitor-keys" "3.5.0"
|
||||
debug "^4.1.1"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
glob "^7.1.6"
|
||||
is-glob "^4.0.1"
|
||||
lodash "^4.17.15"
|
||||
semver "^7.3.2"
|
||||
tsutils "^3.17.1"
|
||||
|
||||
"@typescript-eslint/visitor-keys@3.5.0":
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.5.0.tgz#73c1ea2582f814735e4afdc1cf6f5e3af78db60a"
|
||||
integrity sha512-7cTp9rcX2sz9Z+zua9MCOX4cqp5rYyFD5o8LlbSpXrMTXoRdngTtotRZEkm8+FNMHPWYFhitFK+qt/brK8BVJQ==
|
||||
dependencies:
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
acorn-jsx@^5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
|
||||
@ -523,9 +531,9 @@ eslint-plugin-es@^3.0.0:
|
||||
regexpp "^3.0.0"
|
||||
|
||||
eslint-plugin-import@^2.20.2:
|
||||
version "2.21.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.21.2.tgz#8fef77475cc5510801bedc95f84b932f7f334a7c"
|
||||
integrity sha512-FEmxeGI6yaz+SnEB6YgNHlQK1Bs2DKLM+YF+vuTk5H8J9CLbJLtlPvRFgZZ2+sXiKAlN5dpdlrWOjK8ZoZJpQA==
|
||||
version "2.22.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e"
|
||||
integrity sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==
|
||||
dependencies:
|
||||
array-includes "^3.1.1"
|
||||
array.prototype.flat "^1.2.3"
|
||||
|
Reference in New Issue
Block a user