准备重构

pull/7/head
ChenX 7 years ago
parent 2438a0dd92
commit 2a9677a89f

@ -0,0 +1,444 @@
import * as THREE from 'three';
/*
webCAD .
,,.
.
ID
.
1..
2..
3..
4.,.
5.
6..
?
db.AppendEntity(ent);
*/
/**
* cad
*
* @class CADObject
*/
class CADObject
{
/**
*
*
*
* @param {number} type
* @param {*} data
* @memberof CADObject
*/
ApplyPartialUndo(type: number, data: any)
{
}
DataIn(data)
{
}
DataOut()
{
}
}
/**
* cad
*
* @class CADFile
*/
class CADFile
{
databaseData; //图纸数据
objectDataCol: any[]; //对象集合
}
class HistoricManage
{
curIndex: number; //当前执行位置
historicRecord: CommandHistoricRecord[];//历史记录
}
//命令历史记录集合
class CommandHistoricRecord
{
//命令名称
commandName: string;
//历史记录表
historicCol: CommandHistoricRecord[];
}
//历史记录
class HistoricRecord
{
objectId: number;
undoData: any;
redoData: any;
}
/**
*
*
* @class HistoryManager
*/
class HistoryManager extends CADObject
{
private curUndoIndex = -1;
//命令撤销数据列表
commandUndoData: { cmdName: string, undoData: Map<CADObject, UndoFile> }[] = [];
get UndoData(): Map<CADObject, UndoFile>
{
if (this.commandUndoData.length == 0)
{
this.startCmd("");
}
return this.commandUndoData[this.commandUndoData.length - 1].undoData;
}
startCmd(cmdName: string)
{
this.commandUndoData.splice(this.curUndoIndex, this.commandUndoData.length - this.curUndoIndex);
this.commandUndoData.push({ cmdName: "", undoData: new Map<CADObject, UndoFile>() });
this.curUndoIndex = this.commandUndoData.length - 1;
}
Undo(cout: number)
{
let undoFile = this.commandUndoData[this.curUndoIndex];
if (!undoFile)
{
return;
}
for (let [obj, data] of undoFile.undoData)
{
for (let i = data.m_UndoDataList.length; i--;)
{
let d = data.m_UndoDataList[i];
obj.ApplyPartialUndo(d.type, d.undoData);
}
}
this.curUndoIndex--;
}
Redo(cout: number)
{
let undoFile = this.commandUndoData[this.curUndoIndex + 1];
if (!undoFile)
{
return;
}
for (let [obj, data] of undoFile.undoData)
{
for (let d of data.m_UndoDataList)
{
obj.ApplyPartialUndo(d.type, d.redoData);
}
}
this.curUndoIndex++;
}
}
class Database
{
//块表记录
blockTableCol: BlockTableRecord[];
//材质字典
}
class BlockTableRecord extends CADObject
{
//对象池. 管理所有的对象
objectMap = new Map<number, CADObject>();
}
/**
*
*
* @class UndoFile
*/
class UndoFile
{
m_UndoDataList: UndoData[] = [];
}
interface UndoData
{
type: number;
undoData: any;
redoData: any;
userData?: any;
}
enum EntityUndoType
{
}
//
interface EntityData
{
id: number;
isErase: boolean;
}
/**
*
*
*
* @class Entity
*/
class Entity extends CADObject
{
protected m_Data: EntityData;
m_Db: HistoryManager;
constructor()
{
super();
this.m_Data = {
id: -1,
isErase: false
};
}
get UndoFile(): UndoFile
{
if (this.m_Db)
{
let undoData = this.m_Db.UndoData;
if (!undoData.has(this))
{
undoData.set(this, new UndoFile());
}
return undoData.get(this);
}
}
WriteUndoData(data: UndoData)
{
let undoFile = this.UndoFile;
if (undoFile)
{
undoFile.m_UndoDataList.push(data);
}
}
}
/**
* 线
*
* @enum {number}
*/
enum LineUndoType
{
Full = 0,
StartPoint = 1,
EndPoint = 2,
}
//
interface LineData extends EntityData
{
startPoint: number[];
endPoint: number[];
}
/**
* 线
*
* @class Line
*/
class Line extends Entity
{
protected m_Data: LineData;
constructor()
{
super();
this.m_Data.startPoint = [0, 0, 0];
this.m_Data.endPoint = [0, 0, 0];
}
get StartPoint(): number[]
{
return this.m_Data.startPoint;
}
set StartPoint(value: number[])
{
this.WriteUndoData({
type: LineUndoType.StartPoint,
undoData: { startPoint: this.m_Data.startPoint },
redoData: { startPoint: value }
});
this.m_Data.startPoint = value;
}
ApplyPartialUndo(type, data)
{
switch (type)
{
case LineUndoType.Full:
break;
case LineUndoType.StartPoint:
this.m_Data.startPoint = data.startPoint;
break;
default:
break;
}
}
}
/**
* ,使.
*
* @class EentiyDrawAdapter
*/
class EentiyDrawAdapter
{
Draw()
{
return undefined;
}
}
/**
* 线
*
* @class LineAdapter
* @extends {EentiyDrawAdapter}
*/
class LineAdapter extends EentiyDrawAdapter
{
Draw()
{
return undefined;
}
Update(type: number)
{
switch (type)
{
case LineUndoType.Full:
break;
case LineUndoType.StartPoint:
break;
case LineUndoType.EndPoint:
break;
default:
break;
}
}
}
let line = new Line();
console.log(line);
line.StartPoint = [1, 2, 3];
console.log(line);
let db = new HistoryManager();
line.m_Db = db;
line.StartPoint = [3, 3, 3];
line.StartPoint = [3, 3, 5];
line.StartPoint = [12, 3, 5];
db.Undo(1);
console.log(line.StartPoint);
db.Redo(1);
db.startCmd("");
console.log(line.StartPoint);
function per()
{
for (let i = 0; i < 5000; i++)
{
new Line();
}
}
function per2()
{
for (let i = 0; i < 5000; i++)
{
line.StartPoint = [3, 3, 3];
// console.log(line);
// line.StartPoint = [3, 3, 5];
line.StartPoint = [12, 3, 5];
// console.log(line);
// console.log(db.commandUndoData);
db.Undo(1);
// console.log(line);
db.Redo(1);
db.startCmd("");
// console.log(line.StartPoint);
}
}
// per();/*?.*/
// per2();/*?.*/
// per2();/*?.*/
// per2();/*?.*/
// per2();/*?.*/
// // console.log(3);
let undoManage = new HistoricManage();
let l = new Line();
let ms = new BlockTableRecord();

@ -14,6 +14,9 @@
*/
import { List } from "immutable"
class CADObject
{
@ -72,20 +75,21 @@ class Database extends CADObject
obj.ApplyUndoData(d);
}
}
this.curUndoIndex--;
}
Redo(cout: number)
{
for (let i = this.curUndoIndex + 1; i < this.commandUndoData.length; i++)
let undoFile = this.commandUndoData[this.curUndoIndex + 1];
if (undoFile)
{
for (let [obj, data] of this.commandUndoData[i].undoData)
for (let [obj, data] of undoFile.undoData)
{
for (let d of data.m_UndoDataList)
{
obj.ApplyUndoData(d);
}
}
this.curUndoIndex++;
}
}
}
@ -180,8 +184,8 @@ enum LineUndoType
//
interface LineData extends EntityData
{
startPoint: number[],
endPoint: number[]
startPoint: List<number>,
endPoint: List<number>
}
/**
@ -195,17 +199,18 @@ class Line extends Entity
constructor()
{
super();
this.m_Data.startPoint = [0, 0, 0];
this.m_Data.endPoint = [0, 0, 0];
this.m_Data.startPoint = List([0, 0, 0]);
this.m_Data.endPoint = List([0, 0, 0]);
}
get StartPoint(): number[]
{
return this.m_Data.startPoint;
return this.m_Data.startPoint.toJS();
}
set StartPoint(value: number[])
{
let newP = List(value);
this.WriteUndoData({ type: LineUndoType.StartPoint, data: { startPoint: this.m_Data.startPoint } });
this.m_Data.startPoint = value;
this.m_Data.startPoint = newP;
}
ApplyUndoData(data: any)
@ -230,7 +235,7 @@ class Line extends Entity
*/
class EentiyDrawAdapter
{
Draw(): THREE.Object3D
Draw()
{
return undefined;
}
@ -245,7 +250,7 @@ class EentiyDrawAdapter
*/
class LineAdapter extends EentiyDrawAdapter
{
Draw(): THREE.Object3D
Draw()
{
return undefined;
}
@ -293,8 +298,56 @@ console.log(db.commandUndoData);
db.Undo(1);
console.log(line);
console.log(line.StartPoint);
db.Redo(1);
db.startCmd("");
console.log(line.StartPoint);
function per()
{
for (let i = 0; i < 5000; i++)
{
new Line();
}
}
function per2()
{
for (let i = 0; i < 5000; i++)
{
line.StartPoint = [3, 3, 3];
// console.log(line);
// line.StartPoint = [3, 3, 5];
line.StartPoint = [12, 3, 5];
// console.log(line);
// console.log(db.commandUndoData);
db.Undo(1);
// console.log(line);
db.Redo(1);
db.startCmd("");
// console.log(line.StartPoint);
}
}
per();/*?.*/
per2();/*?.*/
per2();/*?.*/
per2();/*?.*/
per2();/*?.*/
console.log(3);

172
package-lock.json generated

@ -461,7 +461,7 @@
},
"arr-union": {
"version": "3.1.0",
"resolved": "http://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz",
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
@ -614,7 +614,7 @@
},
"atob": {
"version": "2.0.3",
"resolved": "http://registry.npm.taobao.org/atob/download/atob-2.0.3.tgz",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz",
"integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=",
"dev": true
},
@ -986,7 +986,7 @@
},
"core-js": {
"version": "2.5.1",
"resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.1.tgz",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz",
"integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=",
"dev": true
},
@ -1036,7 +1036,7 @@
},
"babel-plugin-transform-strict-mode": {
"version": "6.24.1",
"resolved": "http://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
"integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
"dev": true,
"requires": {
@ -1230,6 +1230,12 @@
"integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=",
"dev": true
},
"bindings": {
"version": "1.3.0",
"resolved": "http://registry.npm.taobao.org/bindings/download/bindings-1.3.0.tgz",
"integrity": "sha1-s0b27PapX1qBXFg5/HzbIlAvHtc=",
"optional": true
},
"bluebird": {
"version": "3.5.0",
"resolved": "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.0.tgz",
@ -1836,7 +1842,7 @@
},
"class-utils": {
"version": "0.3.5",
"resolved": "http://registry.npm.taobao.org/class-utils/download/class-utils-0.3.5.tgz",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.5.tgz",
"integrity": "sha1-F+eTEDdQ+WJ7IXbqNM/RtWWQPIA=",
"dev": true,
"requires": {
@ -1849,7 +1855,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
@ -1875,7 +1881,7 @@
},
"lazy-cache": {
"version": "2.0.2",
"resolved": "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-2.0.2.tgz",
"resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
"integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
"dev": true,
"requires": {
@ -2136,7 +2142,7 @@
},
"component-emitter": {
"version": "1.2.1",
"resolved": "http://registry.npm.taobao.org/component-emitter/download/component-emitter-1.2.1.tgz",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
"dev": true
},
@ -2323,7 +2329,7 @@
},
"copy-descriptor": {
"version": "0.1.1",
"resolved": "http://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
"dev": true
},
@ -2494,7 +2500,7 @@
},
"css-element-queries": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/css-element-queries/-/css-element-queries-0.4.0.tgz",
"resolved": "http://registry.npm.taobao.org/css-element-queries/download/css-element-queries-0.4.0.tgz",
"integrity": "sha1-y1vN6dmArDaZ50cfeY5wYACI094="
},
"css-loader": {
@ -2808,7 +2814,7 @@
},
"dat.gui": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/dat.gui/-/dat.gui-0.6.1.tgz",
"resolved": "http://registry.npm.taobao.org/dat.gui/download/dat.gui-0.6.1.tgz",
"integrity": "sha1-fD0KKsLFcNr7YbkSA/1/4xcdasc="
},
"date-now": {
@ -2905,7 +2911,7 @@
},
"define-property": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
@ -3876,7 +3882,7 @@
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
@ -4228,7 +4234,7 @@
},
"fragment-cache": {
"version": "0.2.1",
"resolved": "http://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
"dev": true,
"requires": {
@ -4243,7 +4249,7 @@
},
"fs-extra": {
"version": "4.0.2",
"resolved": "http://registry.npm.taobao.org/fs-extra/download/fs-extra-4.0.2.tgz",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz",
"integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=",
"dev": true,
"requires": {
@ -4284,7 +4290,7 @@
},
"get-value": {
"version": "2.0.6",
"resolved": "http://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
@ -4490,7 +4496,7 @@
},
"golden-layout": {
"version": "1.5.9",
"resolved": "https://registry.npmjs.org/golden-layout/-/golden-layout-1.5.9.tgz",
"resolved": "http://registry.npm.taobao.org/golden-layout/download/golden-layout-1.5.9.tgz",
"integrity": "sha1-o5vB9qZ+b4hreXwBbdkk6UJrp38=",
"requires": {
"jquery": "3.2.1"
@ -5434,6 +5440,11 @@
"dev": true,
"optional": true
},
"immutable": {
"version": "3.8.2",
"resolved": "http://registry.npm.taobao.org/immutable/download/immutable-3.8.2.tgz",
"integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM="
},
"import-lazy": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
@ -5633,7 +5644,7 @@
},
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
@ -5648,7 +5659,7 @@
},
"kind-of": {
"version": "3.2.2",
"resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
@ -5703,7 +5714,7 @@
},
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
@ -5718,7 +5729,7 @@
},
"kind-of": {
"version": "3.2.2",
"resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
@ -5862,7 +5873,7 @@
},
"is-odd": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/is-odd/download/is-odd-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz",
"integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=",
"dev": true,
"requires": {
@ -6017,7 +6028,7 @@
},
"isobject": {
"version": "3.0.1",
"resolved": "http://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
@ -6683,7 +6694,7 @@
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
@ -6752,7 +6763,7 @@
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
@ -6952,7 +6963,7 @@
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
@ -7006,7 +7017,7 @@
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
@ -7049,7 +7060,7 @@
},
"arr-diff": {
"version": "2.0.0",
"resolved": "http://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
"dev": true,
"requires": {
@ -7058,13 +7069,13 @@
},
"array-unique": {
"version": "0.2.1",
"resolved": "http://registry.npm.taobao.org/array-unique/download/array-unique-0.2.1.tgz",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
"dev": true
},
"braces": {
"version": "1.8.5",
"resolved": "http://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz",
"resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
"dev": true,
"requires": {
@ -7086,13 +7097,13 @@
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"expand-brackets": {
"version": "0.1.5",
"resolved": "http://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
"dev": true,
"requires": {
@ -7101,7 +7112,7 @@
},
"extglob": {
"version": "0.3.2",
"resolved": "http://registry.npm.taobao.org/extglob/download/extglob-0.3.2.tgz",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
"dev": true,
"requires": {
@ -7122,7 +7133,7 @@
},
"kind-of": {
"version": "3.2.2",
"resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
@ -7131,7 +7142,7 @@
},
"micromatch": {
"version": "2.3.11",
"resolved": "http://registry.npm.taobao.org/micromatch/download/micromatch-2.3.11.tgz",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
"dev": true,
"requires": {
@ -8059,7 +8070,7 @@
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
@ -8117,7 +8128,7 @@
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
@ -8172,7 +8183,7 @@
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
@ -8195,7 +8206,7 @@
},
"jquery": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz",
"resolved": "http://registry.npm.taobao.org/jquery/download/jquery-3.2.1.tgz",
"integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c="
},
"js-base64": {
@ -8313,7 +8324,7 @@
},
"jsonfile": {
"version": "4.0.0",
"resolved": "http://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"requires": {
@ -8613,7 +8624,7 @@
},
"lodash": {
"version": "4.17.4",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
"resolved": "http://registry.npm.taobao.org/lodash/download/lodash-4.17.4.tgz",
"integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
},
"lodash.camelcase": {
@ -8752,7 +8763,7 @@
},
"map-cache": {
"version": "0.2.2",
"resolved": "http://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
@ -9038,7 +9049,7 @@
},
"mixin-deep": {
"version": "1.2.0",
"resolved": "http://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.2.0.tgz",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.2.0.tgz",
"integrity": "sha1-0CuMb4ttS49ZgtP9AJxJGYUcP+I=",
"dev": true,
"requires": {
@ -9101,6 +9112,12 @@
"integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
"dev": true
},
"nan": {
"version": "2.8.0",
"resolved": "http://registry.npm.taobao.org/nan/download/nan-2.8.0.tgz",
"integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=",
"optional": true
},
"nanomatch": {
"version": "1.2.5",
"resolved": "http://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.5.tgz",
@ -9346,7 +9363,7 @@
},
"object-copy": {
"version": "0.1.0",
"resolved": "http://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
"dev": true,
"requires": {
@ -9357,7 +9374,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
@ -9391,7 +9408,7 @@
},
"kind-of": {
"version": "3.2.2",
"resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
@ -9700,7 +9717,7 @@
},
"pascalcase": {
"version": "0.1.1",
"resolved": "http://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
"dev": true
},
@ -9872,7 +9889,7 @@
},
"posix-character-classes": {
"version": "0.1.1",
"resolved": "http://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
"dev": true
},
@ -10844,7 +10861,7 @@
},
"react-color": {
"version": "2.13.8",
"resolved": "https://registry.npmjs.org/react-color/-/react-color-2.13.8.tgz",
"resolved": "http://registry.npm.taobao.org/react-color/download/react-color-2.13.8.tgz",
"integrity": "sha1-vMWPeaciub/DfEAuaM0Y8mlwruQ=",
"requires": {
"lodash": "4.17.4",
@ -11036,7 +11053,7 @@
},
"regex-not": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/regex-not/download/regex-not-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz",
"integrity": "sha1-Qvg+OXcWIt+CawKvF2Ul1qXxV/k=",
"dev": true,
"requires": {
@ -11310,7 +11327,7 @@
},
"resolve-url": {
"version": "0.2.1",
"resolved": "http://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
"dev": true
},
@ -11580,7 +11597,7 @@
},
"set-getter": {
"version": "0.1.0",
"resolved": "http://registry.npm.taobao.org/set-getter/download/set-getter-0.1.0.tgz",
"resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz",
"integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
"dev": true,
"requires": {
@ -11694,7 +11711,7 @@
},
"snapdragon": {
"version": "0.8.1",
"resolved": "http://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.1.tgz",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
"integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=",
"dev": true,
"requires": {
@ -11710,7 +11727,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
@ -11770,7 +11787,7 @@
},
"kind-of": {
"version": "3.2.2",
"resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
@ -11906,7 +11923,7 @@
},
"source-map-url": {
"version": "0.4.0",
"resolved": "http://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
@ -12021,7 +12038,7 @@
},
"static-extend": {
"version": "0.1.2",
"resolved": "http://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
"dev": true,
"requires": {
@ -12031,7 +12048,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
@ -12059,7 +12076,7 @@
},
"stats.js": {
"version": "0.17.0",
"resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz",
"resolved": "http://registry.npm.taobao.org/stats.js/download/stats.js-0.17.0.tgz",
"integrity": "sha1-scPcRtlEmLV4t/05hbgaznExzH0="
},
"statuses": {
@ -12958,7 +12975,7 @@
},
"to-object-path": {
"version": "0.3.0",
"resolved": "http://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz",
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
"dev": true,
"requires": {
@ -12973,7 +12990,7 @@
},
"kind-of": {
"version": "3.2.2",
"resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
@ -12984,7 +13001,7 @@
},
"to-regex": {
"version": "3.0.1",
"resolved": "http://registry.npm.taobao.org/to-regex/download/to-regex-3.0.1.tgz",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz",
"integrity": "sha1-FTWL7kosg712N3uh3ASdDxiDeq4=",
"dev": true,
"requires": {
@ -12995,7 +13012,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
@ -13023,7 +13040,7 @@
},
"to-regex-range": {
"version": "2.1.1",
"resolved": "http://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
"dev": true,
"requires": {
@ -13033,7 +13050,7 @@
"dependencies": {
"repeat-string": {
"version": "1.6.1",
"resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
}
@ -13826,7 +13843,7 @@
},
"universalify": {
"version": "0.1.1",
"resolved": "http://registry.npm.taobao.org/universalify/download/universalify-0.1.1.tgz",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
"integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=",
"dev": true
},
@ -13969,7 +13986,7 @@
},
"urix": {
"version": "0.1.0",
"resolved": "http://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
"dev": true
},
@ -14076,7 +14093,7 @@
},
"use": {
"version": "2.0.2",
"resolved": "http://registry.npm.taobao.org/use/download/use-2.0.2.tgz",
"resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz",
"integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=",
"dev": true,
"requires": {
@ -14087,7 +14104,7 @@
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "http://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
@ -14113,7 +14130,7 @@
},
"lazy-cache": {
"version": "2.0.2",
"resolved": "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-2.0.2.tgz",
"resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
"integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
"dev": true,
"requires": {
@ -14188,7 +14205,10 @@
"verb-nurbs-web": {
"version": "2.1.3",
"resolved": "http://registry.npm.taobao.org/verb-nurbs-web/download/verb-nurbs-web-2.1.3.tgz",
"integrity": "sha1-xdsnl76ghdPhTIoJKKLkzW32SvY="
"integrity": "sha1-xdsnl76ghdPhTIoJKKLkzW32SvY=",
"requires": {
"webworker-threads": "0.7.13"
}
},
"verror": {
"version": "1.3.6",
@ -14723,6 +14743,16 @@
"integrity": "sha1-Dhh4HeYpoYMIzhSBZQ9n/6JpOl0=",
"dev": true
},
"webworker-threads": {
"version": "0.7.13",
"resolved": "http://registry.npm.taobao.org/webworker-threads/download/webworker-threads-0.7.13.tgz",
"integrity": "sha1-yEsYtrokElu503NC5E3rgVFi+4M=",
"optional": true,
"requires": {
"bindings": "1.3.0",
"nan": "2.8.0"
}
},
"whatwg-encoding": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz",

@ -59,6 +59,7 @@
"css-element-queries": "^0.4.0",
"dat.gui": "^0.6.1",
"golden-layout": "^1.5.9",
"immutable": "^3.8.2",
"jquery": "^3.2.1",
"lodash": "^4.17.4",
"mobx": "^3.3.2",

Loading…
Cancel
Save