@mirascript/mirascript 0.1.50 → 0.1.51
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/dist/{chunk-DQKJPXKQ.js → chunk-XVXX5S2W.js} +124 -38
- package/dist/{chunk-DQKJPXKQ.js.map → chunk-XVXX5S2W.js.map} +3 -3
- package/dist/index.js +1 -1
- package/dist/subtle.js +1 -1
- package/dist/vm/lib/global/index.d.ts +1 -1
- package/dist/vm/lib/global/index.d.ts.map +1 -1
- package/dist/vm/lib/global/sequence/index.d.ts +1 -0
- package/dist/vm/lib/global/sequence/index.d.ts.map +1 -1
- package/dist/vm/lib/global/sequence/new.d.ts +4 -0
- package/dist/vm/lib/global/sequence/new.d.ts.map +1 -0
- package/dist/vm/lib/global/string/case.d.ts +3 -0
- package/dist/vm/lib/global/string/case.d.ts.map +1 -0
- package/dist/vm/lib/global/string/index.d.ts +8 -0
- package/dist/vm/lib/global/string/index.d.ts.map +1 -0
- package/dist/vm/lib/global/string/search.d.ts +4 -0
- package/dist/vm/lib/global/string/search.d.ts.map +1 -0
- package/dist/vm/lib/global/string/trim.d.ts +4 -0
- package/dist/vm/lib/global/string/trim.d.ts.map +1 -0
- package/dist/vm/operations/type-check.d.ts +2 -2
- package/dist/vm/operations/type-check.d.ts.map +1 -1
- package/dist/vm/types/extern.d.ts +2 -2
- package/dist/vm/types/extern.d.ts.map +1 -1
- package/dist/vm/types/index.d.ts +1 -1
- package/dist/vm/types/index.d.ts.map +1 -1
- package/dist/vm/types/module.d.ts +2 -2
- package/dist/vm/types/module.d.ts.map +1 -1
- package/dist/vm/types/wrapper.d.ts +2 -2
- package/dist/vm/types/wrapper.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/vm/lib/global/index.ts +1 -1
- package/src/vm/lib/global/sequence/index.ts +1 -0
- package/src/vm/lib/global/sequence/new.ts +48 -0
- package/src/vm/lib/global/sequence/with.ts +1 -1
- package/src/vm/lib/global/string/case.ts +27 -0
- package/src/vm/lib/global/string/index.ts +65 -0
- package/src/vm/lib/global/string/search.ts +39 -0
- package/src/vm/lib/global/string/trim.ts +40 -0
- package/src/vm/operations/type-check.ts +3 -3
- package/src/vm/types/extern.ts +2 -2
- package/src/vm/types/index.ts +1 -1
- package/src/vm/types/module.ts +2 -2
- package/src/vm/types/wrapper.ts +2 -2
- package/dist/vm/lib/global/string.d.ts +0 -11
- package/dist/vm/lib/global/string.d.ts.map +0 -1
- package/src/vm/lib/global/string.ts +0 -138
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { expectArray, expectString, VmLib } from '../helpers.js';
|
|
2
|
-
|
|
3
|
-
export const chars = VmLib(
|
|
4
|
-
(str) => {
|
|
5
|
-
return Array.from(expectString('str', str));
|
|
6
|
-
},
|
|
7
|
-
{
|
|
8
|
-
summary: '将字符串转换为字符数组',
|
|
9
|
-
params: { str: '要转换的字符串' },
|
|
10
|
-
paramsType: { str: 'string' },
|
|
11
|
-
returnsType: 'string[]',
|
|
12
|
-
examples: ['chars("Mira") // ["M", "i", "r", "a"]'],
|
|
13
|
-
},
|
|
14
|
-
);
|
|
15
|
-
|
|
16
|
-
export const starts_with = VmLib(
|
|
17
|
-
(str, search) => {
|
|
18
|
-
return expectString('str', str).startsWith(expectString('search', search));
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
summary: '检查字符串是否以指定子串开头',
|
|
22
|
-
params: { str: '要检查的字符串', search: '要匹配的子串' },
|
|
23
|
-
paramsType: { str: 'string', search: 'string' },
|
|
24
|
-
returnsType: 'boolean',
|
|
25
|
-
examples: ['starts_with("mira", "mi") // true'],
|
|
26
|
-
},
|
|
27
|
-
);
|
|
28
|
-
export const ends_with = VmLib(
|
|
29
|
-
(str, search) => {
|
|
30
|
-
return expectString('str', str).endsWith(expectString('search', search));
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
summary: '检查字符串是否以指定子串结尾',
|
|
34
|
-
params: { str: '要检查的字符串', search: '要匹配的子串' },
|
|
35
|
-
paramsType: { str: 'string', search: 'string' },
|
|
36
|
-
returnsType: 'boolean',
|
|
37
|
-
examples: ['ends_with("mira", "ra") // true'],
|
|
38
|
-
},
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
export const contains = VmLib(
|
|
42
|
-
(str, search) => {
|
|
43
|
-
return expectString('str', str).includes(expectString('search', search));
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
summary: '检查字符串是否包含指定子串',
|
|
47
|
-
params: { str: '要检查的字符串', search: '要匹配的子串' },
|
|
48
|
-
paramsType: { str: 'string', search: 'string' },
|
|
49
|
-
returnsType: 'boolean',
|
|
50
|
-
examples: ['contains("hello", "ll") // true'],
|
|
51
|
-
},
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
export const trim_start = VmLib(
|
|
55
|
-
(str) => {
|
|
56
|
-
return expectString('str', str).trimStart();
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
summary: '去除字符串开头的空白字符',
|
|
60
|
-
params: { str: '要处理的字符串' },
|
|
61
|
-
paramsType: { str: 'string' },
|
|
62
|
-
returnsType: 'string',
|
|
63
|
-
examples: ['trim_start(" mira") // "mira"'],
|
|
64
|
-
},
|
|
65
|
-
);
|
|
66
|
-
|
|
67
|
-
export const trim_end = VmLib(
|
|
68
|
-
(str) => {
|
|
69
|
-
return expectString('str', str).trimEnd();
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
summary: '去除字符串结尾的空白字符',
|
|
73
|
-
params: { str: '要处理的字符串' },
|
|
74
|
-
paramsType: { str: 'string' },
|
|
75
|
-
returnsType: 'string',
|
|
76
|
-
examples: ['trim_end("mira ") // "mira"'],
|
|
77
|
-
},
|
|
78
|
-
);
|
|
79
|
-
|
|
80
|
-
export const trim = VmLib(
|
|
81
|
-
(str) => {
|
|
82
|
-
return expectString('str', str).trim();
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
summary: '去除字符串两端的空白字符',
|
|
86
|
-
params: { str: '要处理的字符串' },
|
|
87
|
-
paramsType: { str: 'string' },
|
|
88
|
-
returnsType: 'string',
|
|
89
|
-
examples: ['trim(" mira ") // "mira"'],
|
|
90
|
-
},
|
|
91
|
-
);
|
|
92
|
-
|
|
93
|
-
export const replace = VmLib(
|
|
94
|
-
(str, search, replacement = '') => {
|
|
95
|
-
return expectString('str', str).replaceAll(
|
|
96
|
-
expectString('search', search),
|
|
97
|
-
expectString('replacement', replacement),
|
|
98
|
-
);
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
summary: '替换字符串中的指定子串',
|
|
102
|
-
params: { str: '要处理的字符串', search: '要替换的子串', replacement: '替换后的字符串' },
|
|
103
|
-
paramsType: { str: 'string', search: 'string', replacement: 'string' },
|
|
104
|
-
returnsType: 'string',
|
|
105
|
-
examples: ['replace("foo bar foo", "foo", "baz") // "baz bar baz"'],
|
|
106
|
-
},
|
|
107
|
-
);
|
|
108
|
-
|
|
109
|
-
export const split = VmLib(
|
|
110
|
-
(str, separator = '') => {
|
|
111
|
-
const s = expectString('str', str);
|
|
112
|
-
const p = expectString('separator', separator);
|
|
113
|
-
if (!p) return [...s];
|
|
114
|
-
return s.split(p);
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
summary: '将字符串拆分为子串数组',
|
|
118
|
-
params: { str: '要拆分的字符串', separator: '分隔符' },
|
|
119
|
-
paramsType: { str: 'string', separator: 'string' },
|
|
120
|
-
returnsType: 'string[]',
|
|
121
|
-
examples: ['split("a,b,c", ",") // ["a", "b", "c"]'],
|
|
122
|
-
},
|
|
123
|
-
);
|
|
124
|
-
|
|
125
|
-
export const join = VmLib(
|
|
126
|
-
(arr, separator = '') => {
|
|
127
|
-
expectArray('arr', arr, null);
|
|
128
|
-
const s = expectString('separator', separator);
|
|
129
|
-
return arr.map((v) => expectString(null, v)).join(s);
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
summary: '将字符串数组连接为单个字符串',
|
|
133
|
-
params: { arr: '要连接的字符串数组', separator: '分隔符' },
|
|
134
|
-
paramsType: { arr: 'string[]', separator: 'string' },
|
|
135
|
-
returnsType: 'string',
|
|
136
|
-
examples: ['join(["a", "b", "c"], "-") // "a-b-c"'],
|
|
137
|
-
},
|
|
138
|
-
);
|