Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6156b4f

Browse files
committed
add write & writeFileFrom actions
1 parent4ca0c65 commit6156b4f

File tree

7 files changed

+58
-17
lines changed

7 files changed

+58
-17
lines changed

‎CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@
22
All notable changes to this project will be documented in this file.
33
This project adheres to[Semantic Versioning](http://semver.org/).
44

5+
#[0.12.0] - 2016-08-16
6+
- add 'write' & 'writeFileFrom' actions
7+
58
#[0.11.0] - 2016-08-09
69
- break runner calls into two steps:
710
- load
811
- run
12+
- require Atom 1.8+, Node 4+
913

1014
#[0.10.10] - 2016-07-30
1115
- performance increase

‎lib/actions.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,5 @@ exports.editorSet = core_coderoad_1.editorSet;
3333
exports.routeSet=core_coderoad_1.routeSet;
3434
exports.windowToggle=core_coderoad_1.windowToggle;
3535
exports.quit=core_coderoad_1.quit;
36+
exports.editorWriteFileFromContent=core_coderoad_1.editorWriteFileFromContent;
37+
exports.editorWriteFileFromFile=core_coderoad_1.editorWriteFileFromFile;

‎lib/modules/page/task-actions/handle-action-string.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ var Type = {
77
SET:'set',
88
INSERT:'insert',
99
OPEN_CONSOLE:'openConsole',
10+
WRITE:'write',
11+
WRITE_FROM_FILE:'writeFromFile',
1012
};
1113
functionhandleActionString(actionString){
1214
returnnewPromise(function(resolve,reject){
@@ -43,6 +45,21 @@ function handleActionString(actionString) {
4345
});
4446
}
4547
break;
48+
caseType.WRITE:
49+
caseType.WRITE_FROM_FILE:
50+
if(params.length===2){
51+
if(command==='write'){
52+
varto=params[0],content=params[1];
53+
store_1.default.dispatch(actions_1.editorWriteFileFromContent(to,content));
54+
}
55+
elseif(command==='writeFromFile'){
56+
varto=params[0],from=params[1];
57+
store_1.default.dispatch(actions_1.editorWriteFileFromFile(to,from));
58+
}
59+
resolve();
60+
}
61+
reject('Invalid write params');
62+
break;
4663
default:
4764
console.log('Invalid editor action command');
4865
reject(false);
@@ -53,3 +70,6 @@ function handleActionString(actionString) {
5370
}
5471
Object.defineProperty(exports,"__esModule",{value:true});
5572
exports.default=handleActionString;
73+
functionisValidPath(filePath){
74+
return!filePath.match(/^\.\./);
75+
}

‎package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
},
3131
"dependencies": {
3232
"atom-plugin-command-line":"1.0.2",
33-
"coderoad-cli":"0.8.0",
34-
"core-coderoad":"0.7.0",
33+
"coderoad-cli":"0.9.0",
34+
"core-coderoad":"0.8.0",
3535
"material-ui":"0.15.4",
3636
"node-file-exists":"1.1.0",
3737
"react":"15.3.0",

‎src/actions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ export {setupVerify, setupPackage} from './modules/setup/actions';
77
export{tutorialSet}from'./modules/tutorial';
88
export{tutorialsFind,tutorialUpdate}from'./modules/tutorials';
99

10-
export{editorDevToolsToggle,editorOpen,editorInsert,editorSave,editorSet,routeSet,windowToggle,quit}from'core-coderoad';
10+
export{editorDevToolsToggle,editorOpen,editorInsert,editorSave,editorSet,routeSet,windowToggle,quit,editorWriteFileFromContent,editorWriteFileFromFile}from'core-coderoad';

‎src/modules/page/task-actions/handle-action-string.ts

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1-
import{editorInsert,editorOpen,editorSave,editorSet}from'../../../actions';
1+
import{editorInsert,editorOpen,editorSave,editorSet,editorWriteFileFromContent,editorWriteFileFromFile}from'../../../actions';
22
importstorefrom'../../../store';
3-
import{getCommand,getOptions,getParams}from'./parser';
3+
importactionWritefrom'../@actions/write';
4+
import{getCommand,getOptions,getParams}from'./parser';
45

56
constType={
67
OPEN:'open',
78
SET:'set',
89
INSERT:'insert',
910
OPEN_CONSOLE:'openConsole',
11+
WRITE:'write',
12+
WRITE_FROM_FILE:'writeFromFile',
1013
};
1114

1215
// parse task string for command/params
@@ -61,6 +64,25 @@ export default function handleActionString(
6164
// }
6265
// break;
6366

67+
caseType.WRITE:
68+
caseType.WRITE_FROM_FILE:
69+
if(params.length===2){
70+
71+
// write
72+
if(command==='write'){
73+
const[to,content]=params;
74+
store.dispatch(editorWriteFileFromContent(to,content));
75+
76+
// writeFromFile
77+
}elseif(command==='writeFromFile'){
78+
const[to,from]=params;
79+
store.dispatch(editorWriteFileFromFile(to,from));
80+
}
81+
resolve();
82+
}
83+
reject('Invalid write params');
84+
break;
85+
6486
default:
6587
console.log('Invalid editor action command');
6688
reject(false);
@@ -69,3 +91,8 @@ export default function handleActionString(
6991
console.error('Error handling action string',err);
7092
});
7193
}
94+
95+
functionisValidPath(filePath:string):boolean{
96+
// should not go above users tutorial directory for security reasons
97+
return!filePath.match(/^\.\./);
98+
}

‎src/modules/tests/test-run/run.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,12 @@
11
import{join}from'path';
22

33
importhandleResultfrom'./handle-result';
4-
importparseLoadersfrom'./parse-loaders';
54

65
exportdefaultfunctionrunTaskTests({
76
taskTests, dir, tutorial, taskPosition, testFile
87
}):number{
98

109
if(taskTests&&taskTests.length){
11-
// const tutorialConfig: Tutorial.Config = tutorial.config;
12-
// const testString = parseLoaders(
13-
// tests, tutorialConfig.testSuffix, tutorial, dir
14-
// );
15-
//
16-
// const config: Test.Config = {
17-
// dir,
18-
// tutorialDir: tutorialConfig.dir,
19-
// taskPosition
20-
// };
21-
2210
// call test runner
2311
tutorial.config.run({dir, taskPosition, handleResult, testFile});
2412
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp