Skip to content

Commit

Permalink
.
Browse files Browse the repository at this point in the history
  • Loading branch information
PiCoPress committed May 9, 2021
1 parent 9cd5b30 commit ecf68f1
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 8 deletions.
7 changes: 4 additions & 3 deletions Danja.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ function DJEFactory(jsonInfo){
setEngine : 0,
ImportData : { },
doWarning : true,
strictMode : false
strictMode : false,
doError : true
};

let registry = { };
Expand All @@ -31,7 +32,7 @@ function DJEFactory(jsonInfo){
if(!Object.getOwnPropertyNames(this).includes("log")) { log = { }; log.i = console.log; log.e = console.log; }

registry = metaData.ImportData != null ? metaData.ImportData : registry;
function Exception(msg) { log.e(msg); throw new Error("오류 : " + msg); }
function Exception(msg) { if(metaData.doError) return; log.e(msg); throw new Error("오류 : " + msg); }
function Warning(msg) { if(metaData.doWarning) log.i("경고 : " + msg); }

if(metaData.setEngine === undefined || !allowedEngines.includes(metaData.setEngine)) metaData.setEngine = 0;
Expand Down Expand Up @@ -88,7 +89,7 @@ function DJEFactory(jsonInfo){
if(beforeCursor != ']') Exception("올바르지 않은 태그입니다. [ 인덱스 : " + i + " ]");
crossMode = 0;
let tmp = registry[name];
if(tmp[0] != argArr.length) metaData.strictMode ? Exception("등록된 태그와 처리된 매개변수의 길이가 일치하지 않습니다 [ " + name + " - 등록된 값 : " + tmp[0] + " , 처리된 값 : " + argArr.length + " ]") :
if(tmp[0] != argArr.length && tmp[0] != -1) metaData.strictMode ? Exception("등록된 태그와 처리된 매개변수의 길이가 일치하지 않습니다 [ " + name + " - 등록된 값 : " + tmp[0] + " , 처리된 값 : " + argArr.length + " ]") :
Warning("등록된 태그와 처리된 매개변수의 길이가 일치하지 않습니다. 예기치 못한 오류를 일으킬 수 있습니다 [ " + name + " - 등록된 값 : " + tmp[0] + " , 처리된 값 : " + argArr.length + " ]");
let res = tmp[1].apply(null, argArr);
cache += res === undefined || res === null ? '' : res;
Expand Down
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[예시코드보기](./test.js "코드 보기")

# DanJa-Eung 0.0.1
# DanJa-Eung 0.1.0

- addTag (태그 이름, 인수로 받을 값의 개수, 호출될 함수) : 태그를 추가합니다.
- run (문자열) : 단자응 런타임을 실행하여 특정 결과를 반환합니다.
Expand All @@ -10,13 +10,16 @@
- existTag(이름) : 태그에 대한 유효성 검사를 합니다.
- getTagList() : 모든 저장된 사용 가능한 태그를 출력합니다.

### 0.0.1-ahpha3 수정사항
## 0.1.0 수정사항
- jsonInfo.doError 인자 추가 (아래 참고)
- addTag의 인수로 받을 개수의 값이 -1이면 , 태그가 받을 인수는 가변 인자처럼 활용될 수 있습니다.

### 0.0.2 수정사항
- 여러 태그를 사용할 경우 생기던 문제 수정.
- 오류와 경고 메세지가 좀 더 상세해졌습니다.

### 0.0.1-ahpha3 추가된 기능
- getTagList, getTagDoc, existTag, removeTag, addDoc 추가함.
- 동적 태그 관리 시스템 도입.

## 생성자의 매개변수에 들어가는 JSON
```js
Expand All @@ -25,5 +28,6 @@ jsonInfo = {
JSON(registry) ImportData, // - key : 특수문자를 제외한 유효한 문자, value : 크기가 2인 배열 (1 : 받을 인수의 개수, 2 : 실행할 함수)
boolean doWarning, // - 경고 출력 여부
boolean strictMode, // - 엄격하게 실행 할 여부
boolean doError // - 오류 출력 여부
}
```
4 changes: 2 additions & 2 deletions test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ let dje = require("./Danja.js").DJEFactory;
dje = new dje({
strictMode : true
});
dje.addTag("미리보기", 1, (a) => {
return "미리보기용 코드 입니다 : " + a;
dje.addTag("미리보기", -1, (a, b) => {
return "미리보기용 코드 입니다 : " + a + b;
});
dje.addTag("엔터", 0, () => '\n');
console.log(dje.run("[[미리보기|1234]] [[엔터]] [[미리보기|5678]]"));

0 comments on commit ecf68f1

Please sign in to comment.