funcity 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/index.cjs +165 -159
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +165 -159
- package/dist/index.mjs.map +1 -1
- package/dist/parser.d.ts +137 -55
- package/dist/parser.d.ts.map +1 -1
- package/dist/reducer.d.ts +18 -26
- package/dist/reducer.d.ts.map +1 -1
- package/dist/scripting.d.ts +99 -16
- package/dist/scripting.d.ts.map +1 -1
- package/dist/standards.d.ts +14 -6
- package/dist/standards.d.ts.map +1 -1
- package/dist/tokenizer.d.ts +63 -21
- package/dist/tokenizer.d.ts.map +1 -1
- package/package.json +8 -8
package/dist/standards.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: funcity
|
|
3
|
-
* version: 0.
|
|
3
|
+
* version: 0.2.0
|
|
4
4
|
* description: A functional language interpreter with text processing
|
|
5
5
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
6
6
|
* license: MIT
|
|
7
7
|
* repository.url: https://github.com/kekyo/funcity.git
|
|
8
|
-
* git.commit.hash:
|
|
8
|
+
* git.commit.hash: 296ed901d99782ce89723733d765cf0bbf36348a
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import {
|
|
12
|
-
|
|
11
|
+
import { FunCityVariables } from './scripting';
|
|
12
|
+
/**
|
|
13
|
+
* Built-in standard variables and functions.
|
|
14
|
+
*/
|
|
15
|
+
export declare const standardVariables: Readonly<{
|
|
13
16
|
readonly undefined: undefined;
|
|
14
17
|
readonly null: null;
|
|
15
18
|
readonly true: true;
|
|
@@ -48,6 +51,11 @@ export declare const standardVariables: {
|
|
|
48
51
|
readonly replace: (arg0: unknown, arg1: unknown, arg2: unknown) => Promise<string>;
|
|
49
52
|
readonly regex: (arg0: unknown, arg1: unknown) => Promise<RegExp>;
|
|
50
53
|
readonly bind: (arg0: unknown, ...args: unknown[]) => Promise<any>;
|
|
51
|
-
}
|
|
52
|
-
|
|
54
|
+
}>;
|
|
55
|
+
/**
|
|
56
|
+
* Build a variable map that includes standard variables.
|
|
57
|
+
* @param variablesList - Additional variable sources.
|
|
58
|
+
* @returns Combined variable map.
|
|
59
|
+
*/
|
|
60
|
+
export declare const buildCandidateVariables: (...variablesList: readonly (FunCityVariables | Record<string, unknown>)[]) => FunCityVariables;
|
|
53
61
|
//# sourceMappingURL=standards.d.ts.map
|
package/dist/standards.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards.d.ts","sourceRoot":"","sources":["../src/standards.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,EAKL,KAAK,
|
|
1
|
+
{"version":3,"file":"standards.d.ts","sourceRoot":"","sources":["../src/standards.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AAqYrB;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;iCA1VI,OAAO,EAAE;4BAzBd,OAAO;yBAiEV,OAAO,WAAW,OAAO,EAAE;yBAK3B,OAAO,WAAW,OAAO,EAAE;yBAK3B,OAAO,WAAW,OAAO,EAAE;yBAK3B,OAAO,WAAW,OAAO,EAAE;yBAK3B,OAAO,WAAW,OAAO,EAAE;2BAKzB,OAAO,QAAQ,OAAO;;+BA0BlB,OAAO,EAAE;0BAKd,OAAO,WAAW,OAAO,EAAE;0BAM3B,OAAO;6BAUJ,OAAO;6BAQP,OAAO;4BAQR,OAAO;4BAoBP,OAAO,EAAE;2BAQV,OAAO,EAAE;yBAQX,OAAO;wBAIR,OAAO,QAAQ,OAAO;2BAuBnB,OAAO;0BAkBR,OAAO;2BAoBN,OAAO,QAAQ,OAAO;0BAmBvB,OAAO;6BATJ,OAAO;yBAkBX,OAAO,QAAQ,OAAO;6BAWlB,OAAO,QAAQ,OAAO;4BAWvB,OAAO,QAAQ,OAAO;6BAarB,OAAO;4BAWR,OAAO,QAAQ,OAAO,QAAQ,OAAO;2BAUtC,OAAO,QAAQ,OAAO;6BAMpB,OAAO,QAAQ,OAAO,QAAQ,OAAO;2BAOvC,OAAO,QAAQ,OAAO;0BAUvB,OAAO,WAAW,OAAO,EAAE;EAiD3C,CAAC;AAEZ;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAClC,GAAG,eAAe,SAAS,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,KACxE,gBAEF,CAAC"}
|
package/dist/tokenizer.d.ts
CHANGED
|
@@ -1,96 +1,138 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: funcity
|
|
3
|
-
* version: 0.
|
|
3
|
+
* version: 0.2.0
|
|
4
4
|
* description: A functional language interpreter with text processing
|
|
5
5
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
6
6
|
* license: MIT
|
|
7
7
|
* repository.url: https://github.com/kekyo/funcity.git
|
|
8
|
-
* git.commit.hash:
|
|
8
|
+
* git.commit.hash: 296ed901d99782ce89723733d765cf0bbf36348a
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import {
|
|
11
|
+
import { FunCityErrorInfo, FunCityRange } from './scripting';
|
|
12
12
|
/**
|
|
13
13
|
* The string token.
|
|
14
14
|
*/
|
|
15
|
-
export interface
|
|
15
|
+
export interface FunCityStringToken {
|
|
16
|
+
/**
|
|
17
|
+
* Token kind.
|
|
18
|
+
*/
|
|
16
19
|
readonly kind: 'string';
|
|
17
20
|
/**
|
|
18
21
|
* String value.
|
|
19
22
|
*/
|
|
20
23
|
readonly value: string;
|
|
21
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Token range in source text.
|
|
26
|
+
*/
|
|
27
|
+
readonly range: FunCityRange;
|
|
22
28
|
}
|
|
23
29
|
/**
|
|
24
30
|
* The number (numeric) token.
|
|
25
31
|
*/
|
|
26
|
-
export interface
|
|
32
|
+
export interface FunCityNumberToken {
|
|
33
|
+
/**
|
|
34
|
+
* Token kind.
|
|
35
|
+
*/
|
|
27
36
|
readonly kind: 'number';
|
|
28
37
|
/**
|
|
29
38
|
* Numeric value.
|
|
30
39
|
*/
|
|
31
40
|
readonly value: number;
|
|
32
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Token range in source text.
|
|
43
|
+
*/
|
|
44
|
+
readonly range: FunCityRange;
|
|
33
45
|
}
|
|
34
46
|
/**
|
|
35
47
|
* The identity (variable name) token.
|
|
36
48
|
*/
|
|
37
|
-
export interface
|
|
49
|
+
export interface FunCityIdentityToken {
|
|
50
|
+
/**
|
|
51
|
+
* Token kind.
|
|
52
|
+
*/
|
|
38
53
|
readonly kind: 'identity';
|
|
39
54
|
/**
|
|
40
55
|
* Identity.
|
|
41
56
|
*/
|
|
42
57
|
readonly name: string;
|
|
43
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Token range in source text.
|
|
60
|
+
*/
|
|
61
|
+
readonly range: FunCityRange;
|
|
44
62
|
}
|
|
45
63
|
/**
|
|
46
64
|
* Open parenthesis or bracket node.
|
|
47
65
|
*/
|
|
48
|
-
export interface
|
|
66
|
+
export interface FunCityOpenToken {
|
|
67
|
+
/**
|
|
68
|
+
* Token kind.
|
|
69
|
+
*/
|
|
49
70
|
readonly kind: 'open';
|
|
50
71
|
/**
|
|
51
72
|
* Open symbol.
|
|
52
73
|
*/
|
|
53
74
|
readonly symbol: string;
|
|
54
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Token range in source text.
|
|
77
|
+
*/
|
|
78
|
+
readonly range: FunCityRange;
|
|
55
79
|
}
|
|
56
80
|
/**
|
|
57
81
|
* Close parenthesis or bracket token.
|
|
58
82
|
*/
|
|
59
|
-
export interface
|
|
83
|
+
export interface FunCityCloseToken {
|
|
84
|
+
/**
|
|
85
|
+
* Token kind.
|
|
86
|
+
*/
|
|
60
87
|
readonly kind: 'close';
|
|
61
88
|
/**
|
|
62
89
|
* Close symbol.
|
|
63
90
|
*/
|
|
64
91
|
readonly symbol: string;
|
|
65
|
-
|
|
92
|
+
/**
|
|
93
|
+
* Token range in source text.
|
|
94
|
+
*/
|
|
95
|
+
readonly range: FunCityRange;
|
|
66
96
|
}
|
|
67
97
|
/**
|
|
68
98
|
* End of line token.
|
|
69
99
|
*/
|
|
70
|
-
export interface
|
|
100
|
+
export interface FunCityEndOfLineToken {
|
|
101
|
+
/**
|
|
102
|
+
* Token kind.
|
|
103
|
+
*/
|
|
71
104
|
readonly kind: 'eol';
|
|
72
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Token range in source text.
|
|
107
|
+
*/
|
|
108
|
+
readonly range: FunCityRange;
|
|
73
109
|
}
|
|
74
110
|
/**
|
|
75
111
|
* Free form text token.
|
|
76
112
|
*/
|
|
77
|
-
export interface
|
|
113
|
+
export interface FunCityTextToken {
|
|
114
|
+
/**
|
|
115
|
+
* Token kind.
|
|
116
|
+
*/
|
|
78
117
|
readonly kind: 'text';
|
|
79
118
|
/**
|
|
80
119
|
* Text value.
|
|
81
120
|
*/
|
|
82
121
|
readonly text: string;
|
|
83
|
-
|
|
122
|
+
/**
|
|
123
|
+
* Token range in source text.
|
|
124
|
+
*/
|
|
125
|
+
readonly range: FunCityRange;
|
|
84
126
|
}
|
|
85
127
|
/**
|
|
86
128
|
* The token.
|
|
87
129
|
*/
|
|
88
|
-
export type
|
|
130
|
+
export type FunCityToken = FunCityStringToken | FunCityNumberToken | FunCityIdentityToken | FunCityOpenToken | FunCityCloseToken | FunCityEndOfLineToken | FunCityTextToken;
|
|
89
131
|
/**
|
|
90
|
-
* Run tokenizer.
|
|
132
|
+
* Run the tokenizer.
|
|
91
133
|
* @param script - Input script text
|
|
92
|
-
* @errors - Will be stored detected warnings/errors into it
|
|
134
|
+
* @param errors - Will be stored detected warnings/errors into it
|
|
93
135
|
* @returns The token list
|
|
94
136
|
*/
|
|
95
|
-
export declare const runTokenizer: (script: string, errors:
|
|
137
|
+
export declare const runTokenizer: (script: string, errors: FunCityErrorInfo[]) => FunCityToken[];
|
|
96
138
|
//# sourceMappingURL=tokenizer.d.ts.map
|
package/dist/tokenizer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,KAAK,EACV,gBAAgB,EAEhB,YAAY,EACb,MAAM,aAAa,CAAC;AAIrB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,iBAAiB,GACjB,qBAAqB,GACrB,gBAAgB,CAAC;AAgerB;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GACvB,QAAQ,MAAM,EACd,QAAQ,gBAAgB,EAAE,KACzB,YAAY,EAiDd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"git": {
|
|
3
3
|
"tags": [
|
|
4
|
-
"0.
|
|
4
|
+
"0.2.0"
|
|
5
5
|
],
|
|
6
6
|
"branches": [
|
|
7
7
|
"main"
|
|
8
8
|
],
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.2.0",
|
|
10
10
|
"commit": {
|
|
11
|
-
"hash": "
|
|
12
|
-
"shortHash": "
|
|
13
|
-
"date": "
|
|
14
|
-
"message": "
|
|
11
|
+
"hash": "296ed901d99782ce89723733d765cf0bbf36348a",
|
|
12
|
+
"shortHash": "296ed90",
|
|
13
|
+
"date": "2026-01-10T13:06:07+09:00",
|
|
14
|
+
"message": "Merge branch 'develop'"
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
|
-
"version": "0.
|
|
17
|
+
"version": "0.2.0",
|
|
18
18
|
"author": "Kouji Matsui (@kekyo@mi.kekyo.net)",
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"repository": {
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"vite-plugin-dts": ">=3.0.0",
|
|
61
61
|
"vitest": ">=1.0.0"
|
|
62
62
|
},
|
|
63
|
-
"buildDate": "2026-01-
|
|
63
|
+
"buildDate": "2026-01-10T13:06:37+09:00"
|
|
64
64
|
}
|