sb-edit-custom 0.15.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/LICENSE.txt +9 -0
- package/README.md +0 -0
- package/lib/Block.d.ts +388 -0
- package/lib/Block.js +631 -0
- package/lib/BlockInput.d.ts +213 -0
- package/lib/BlockInput.js +3 -0
- package/lib/Costume.d.ts +25 -0
- package/lib/Costume.js +23 -0
- package/lib/Data.d.ts +50 -0
- package/lib/Data.js +44 -0
- package/lib/OpCode.d.ts +212 -0
- package/lib/OpCode.js +219 -0
- package/lib/Project.d.ts +29 -0
- package/lib/Project.js +66 -0
- package/lib/Script.d.ts +16 -0
- package/lib/Script.js +62 -0
- package/lib/Sound.d.ts +21 -0
- package/lib/Sound.js +21 -0
- package/lib/Target.d.ts +47 -0
- package/lib/Target.js +120 -0
- package/lib/cli/index.d.ts +2 -0
- package/lib/cli/index.js +511 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.js +48 -0
- package/lib/io/leopard/toLeopard.d.ts +22 -0
- package/lib/io/leopard/toLeopard.js +2199 -0
- package/lib/io/sb2/fromSb2.d.ts +0 -0
- package/lib/io/sb2/fromSb2.js +2 -0
- package/lib/io/sb2/index.d.ts +48 -0
- package/lib/io/sb2/index.js +3 -0
- package/lib/io/sb2/toSb2.d.ts +0 -0
- package/lib/io/sb2/toSb2.js +2 -0
- package/lib/io/sb3/fromSb3.d.ts +16 -0
- package/lib/io/sb3/fromSb3.js +628 -0
- package/lib/io/sb3/interfaces.d.ts +624 -0
- package/lib/io/sb3/interfaces.js +336 -0
- package/lib/io/sb3/toSb3.d.ts +8 -0
- package/lib/io/sb3/toSb3.js +851 -0
- package/lib/io/scratchblocks/toScratchblocks.d.ts +7 -0
- package/lib/io/scratchblocks/toScratchblocks.js +606 -0
- package/lib/util/id.d.ts +1 -0
- package/lib/util/id.js +12 -0
- package/package.json +68 -0
package/lib/OpCode.js
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpCode = void 0;
|
|
4
|
+
var OpCode;
|
|
5
|
+
(function (OpCode) {
|
|
6
|
+
/**********
|
|
7
|
+
* BLOCKS *
|
|
8
|
+
**********/
|
|
9
|
+
OpCode["motion_movesteps"] = "motion_movesteps";
|
|
10
|
+
OpCode["motion_turnright"] = "motion_turnright";
|
|
11
|
+
OpCode["motion_turnleft"] = "motion_turnleft";
|
|
12
|
+
OpCode["motion_goto"] = "motion_goto";
|
|
13
|
+
OpCode["motion_gotoxy"] = "motion_gotoxy";
|
|
14
|
+
OpCode["motion_glideto"] = "motion_glideto";
|
|
15
|
+
OpCode["motion_glidesecstoxy"] = "motion_glidesecstoxy";
|
|
16
|
+
OpCode["motion_pointindirection"] = "motion_pointindirection";
|
|
17
|
+
OpCode["motion_pointtowards"] = "motion_pointtowards";
|
|
18
|
+
OpCode["motion_changexby"] = "motion_changexby";
|
|
19
|
+
OpCode["motion_setx"] = "motion_setx";
|
|
20
|
+
OpCode["motion_changeyby"] = "motion_changeyby";
|
|
21
|
+
OpCode["motion_sety"] = "motion_sety";
|
|
22
|
+
OpCode["motion_ifonedgebounce"] = "motion_ifonedgebounce";
|
|
23
|
+
OpCode["motion_setrotationstyle"] = "motion_setrotationstyle";
|
|
24
|
+
OpCode["motion_xposition"] = "motion_xposition";
|
|
25
|
+
OpCode["motion_yposition"] = "motion_yposition";
|
|
26
|
+
OpCode["motion_direction"] = "motion_direction";
|
|
27
|
+
OpCode["looks_sayforsecs"] = "looks_sayforsecs";
|
|
28
|
+
OpCode["looks_say"] = "looks_say";
|
|
29
|
+
OpCode["looks_thinkforsecs"] = "looks_thinkforsecs";
|
|
30
|
+
OpCode["looks_think"] = "looks_think";
|
|
31
|
+
OpCode["looks_switchcostumeto"] = "looks_switchcostumeto";
|
|
32
|
+
OpCode["looks_nextcostume"] = "looks_nextcostume";
|
|
33
|
+
OpCode["looks_switchbackdropto"] = "looks_switchbackdropto";
|
|
34
|
+
OpCode["looks_nextbackdrop"] = "looks_nextbackdrop";
|
|
35
|
+
OpCode["looks_changesizeby"] = "looks_changesizeby";
|
|
36
|
+
OpCode["looks_setsizeto"] = "looks_setsizeto";
|
|
37
|
+
OpCode["looks_changeeffectby"] = "looks_changeeffectby";
|
|
38
|
+
OpCode["looks_seteffectto"] = "looks_seteffectto";
|
|
39
|
+
OpCode["looks_cleargraphiceffects"] = "looks_cleargraphiceffects";
|
|
40
|
+
OpCode["looks_show"] = "looks_show";
|
|
41
|
+
OpCode["looks_hide"] = "looks_hide";
|
|
42
|
+
OpCode["looks_gotofrontback"] = "looks_gotofrontback";
|
|
43
|
+
OpCode["looks_goforwardbackwardlayers"] = "looks_goforwardbackwardlayers";
|
|
44
|
+
OpCode["looks_costumenumbername"] = "looks_costumenumbername";
|
|
45
|
+
OpCode["looks_backdropnumbername"] = "looks_backdropnumbername";
|
|
46
|
+
OpCode["looks_size"] = "looks_size";
|
|
47
|
+
OpCode["sound_playuntildone"] = "sound_playuntildone";
|
|
48
|
+
OpCode["sound_play"] = "sound_play";
|
|
49
|
+
OpCode["sound_stopallsounds"] = "sound_stopallsounds";
|
|
50
|
+
OpCode["sound_changeeffectby"] = "sound_changeeffectby";
|
|
51
|
+
OpCode["sound_seteffectto"] = "sound_seteffectto";
|
|
52
|
+
OpCode["sound_cleareffects"] = "sound_cleareffects";
|
|
53
|
+
OpCode["sound_changevolumeby"] = "sound_changevolumeby";
|
|
54
|
+
OpCode["sound_setvolumeto"] = "sound_setvolumeto";
|
|
55
|
+
OpCode["sound_volume"] = "sound_volume";
|
|
56
|
+
OpCode["event_whenflagclicked"] = "event_whenflagclicked";
|
|
57
|
+
OpCode["event_whenkeypressed"] = "event_whenkeypressed";
|
|
58
|
+
OpCode["event_whenthisspriteclicked"] = "event_whenthisspriteclicked";
|
|
59
|
+
OpCode["event_whenstageclicked"] = "event_whenstageclicked";
|
|
60
|
+
OpCode["event_whenbackdropswitchesto"] = "event_whenbackdropswitchesto";
|
|
61
|
+
OpCode["event_whengreaterthan"] = "event_whengreaterthan";
|
|
62
|
+
OpCode["event_whenbroadcastreceived"] = "event_whenbroadcastreceived";
|
|
63
|
+
OpCode["event_broadcast"] = "event_broadcast";
|
|
64
|
+
OpCode["event_broadcastandwait"] = "event_broadcastandwait";
|
|
65
|
+
OpCode["control_wait"] = "control_wait";
|
|
66
|
+
OpCode["control_repeat"] = "control_repeat";
|
|
67
|
+
OpCode["control_forever"] = "control_forever";
|
|
68
|
+
OpCode["control_if"] = "control_if";
|
|
69
|
+
OpCode["control_if_else"] = "control_if_else";
|
|
70
|
+
OpCode["control_wait_until"] = "control_wait_until";
|
|
71
|
+
OpCode["control_repeat_until"] = "control_repeat_until";
|
|
72
|
+
OpCode["control_stop"] = "control_stop";
|
|
73
|
+
OpCode["control_start_as_clone"] = "control_start_as_clone";
|
|
74
|
+
OpCode["control_create_clone_of"] = "control_create_clone_of";
|
|
75
|
+
OpCode["control_delete_this_clone"] = "control_delete_this_clone";
|
|
76
|
+
OpCode["sensing_touchingobject"] = "sensing_touchingobject";
|
|
77
|
+
OpCode["sensing_touchingcolor"] = "sensing_touchingcolor";
|
|
78
|
+
OpCode["sensing_coloristouchingcolor"] = "sensing_coloristouchingcolor";
|
|
79
|
+
OpCode["sensing_distanceto"] = "sensing_distanceto";
|
|
80
|
+
OpCode["sensing_askandwait"] = "sensing_askandwait";
|
|
81
|
+
OpCode["sensing_answer"] = "sensing_answer";
|
|
82
|
+
OpCode["sensing_keypressed"] = "sensing_keypressed";
|
|
83
|
+
OpCode["sensing_mousedown"] = "sensing_mousedown";
|
|
84
|
+
OpCode["sensing_mousex"] = "sensing_mousex";
|
|
85
|
+
OpCode["sensing_mousey"] = "sensing_mousey";
|
|
86
|
+
OpCode["sensing_setdragmode"] = "sensing_setdragmode";
|
|
87
|
+
OpCode["sensing_loudness"] = "sensing_loudness";
|
|
88
|
+
OpCode["sensing_timer"] = "sensing_timer";
|
|
89
|
+
OpCode["sensing_resettimer"] = "sensing_resettimer";
|
|
90
|
+
OpCode["sensing_of"] = "sensing_of";
|
|
91
|
+
OpCode["sensing_current"] = "sensing_current";
|
|
92
|
+
OpCode["sensing_dayssince2000"] = "sensing_dayssince2000";
|
|
93
|
+
OpCode["sensing_username"] = "sensing_username";
|
|
94
|
+
OpCode["operator_add"] = "operator_add";
|
|
95
|
+
OpCode["operator_subtract"] = "operator_subtract";
|
|
96
|
+
OpCode["operator_multiply"] = "operator_multiply";
|
|
97
|
+
OpCode["operator_divide"] = "operator_divide";
|
|
98
|
+
OpCode["operator_random"] = "operator_random";
|
|
99
|
+
OpCode["operator_gt"] = "operator_gt";
|
|
100
|
+
OpCode["operator_lt"] = "operator_lt";
|
|
101
|
+
OpCode["operator_equals"] = "operator_equals";
|
|
102
|
+
OpCode["operator_and"] = "operator_and";
|
|
103
|
+
OpCode["operator_or"] = "operator_or";
|
|
104
|
+
OpCode["operator_not"] = "operator_not";
|
|
105
|
+
OpCode["operator_join"] = "operator_join";
|
|
106
|
+
OpCode["operator_letter_of"] = "operator_letter_of";
|
|
107
|
+
OpCode["operator_length"] = "operator_length";
|
|
108
|
+
OpCode["operator_contains"] = "operator_contains";
|
|
109
|
+
OpCode["operator_mod"] = "operator_mod";
|
|
110
|
+
OpCode["operator_round"] = "operator_round";
|
|
111
|
+
OpCode["operator_mathop"] = "operator_mathop";
|
|
112
|
+
OpCode["data_variable"] = "data_variable";
|
|
113
|
+
OpCode["data_setvariableto"] = "data_setvariableto";
|
|
114
|
+
OpCode["data_changevariableby"] = "data_changevariableby";
|
|
115
|
+
OpCode["data_showvariable"] = "data_showvariable";
|
|
116
|
+
OpCode["data_hidevariable"] = "data_hidevariable";
|
|
117
|
+
OpCode["data_listcontents"] = "data_listcontents";
|
|
118
|
+
OpCode["data_addtolist"] = "data_addtolist";
|
|
119
|
+
OpCode["data_deleteoflist"] = "data_deleteoflist";
|
|
120
|
+
OpCode["data_deletealloflist"] = "data_deletealloflist";
|
|
121
|
+
OpCode["data_insertatlist"] = "data_insertatlist";
|
|
122
|
+
OpCode["data_replaceitemoflist"] = "data_replaceitemoflist";
|
|
123
|
+
OpCode["data_itemoflist"] = "data_itemoflist";
|
|
124
|
+
OpCode["data_itemnumoflist"] = "data_itemnumoflist";
|
|
125
|
+
OpCode["data_lengthoflist"] = "data_lengthoflist";
|
|
126
|
+
OpCode["data_listcontainsitem"] = "data_listcontainsitem";
|
|
127
|
+
OpCode["data_showlist"] = "data_showlist";
|
|
128
|
+
OpCode["data_hidelist"] = "data_hidelist";
|
|
129
|
+
OpCode["procedures_definition"] = "procedures_definition";
|
|
130
|
+
OpCode["procedures_prototype"] = "procedures_prototype";
|
|
131
|
+
OpCode["argument_reporter_boolean"] = "argument_reporter_boolean";
|
|
132
|
+
OpCode["argument_reporter_string_number"] = "argument_reporter_string_number";
|
|
133
|
+
OpCode["procedures_call"] = "procedures_call";
|
|
134
|
+
// Extensions
|
|
135
|
+
OpCode["music_playDrumForBeats"] = "music_playDrumForBeats";
|
|
136
|
+
OpCode["music_restForBeats"] = "music_restForBeats";
|
|
137
|
+
OpCode["music_playNoteForBeats"] = "music_playNoteForBeats";
|
|
138
|
+
OpCode["music_setInstrument"] = "music_setInstrument";
|
|
139
|
+
OpCode["music_setTempo"] = "music_setTempo";
|
|
140
|
+
OpCode["music_changeTempo"] = "music_changeTempo";
|
|
141
|
+
OpCode["music_getTempo"] = "music_getTempo";
|
|
142
|
+
OpCode["pen_clear"] = "pen_clear";
|
|
143
|
+
OpCode["pen_stamp"] = "pen_stamp";
|
|
144
|
+
OpCode["pen_penDown"] = "pen_penDown";
|
|
145
|
+
OpCode["pen_penUp"] = "pen_penUp";
|
|
146
|
+
OpCode["pen_setPenColorToColor"] = "pen_setPenColorToColor";
|
|
147
|
+
OpCode["pen_changePenColorParamBy"] = "pen_changePenColorParamBy";
|
|
148
|
+
OpCode["pen_setPenColorParamTo"] = "pen_setPenColorParamTo";
|
|
149
|
+
OpCode["pen_changePenSizeBy"] = "pen_changePenSizeBy";
|
|
150
|
+
OpCode["pen_setPenSizeTo"] = "pen_setPenSizeTo";
|
|
151
|
+
OpCode["videoSensing_whenMotionGreaterThan"] = "videoSensing_whenMotionGreaterThan";
|
|
152
|
+
OpCode["videoSensing_videoOn"] = "videoSensing_videoOn";
|
|
153
|
+
OpCode["videoSensing_videoToggle"] = "videoSensing_videoToggle";
|
|
154
|
+
OpCode["videoSensing_setVideoTransparency"] = "videoSensing_setVideoTransparency";
|
|
155
|
+
OpCode["wedo2_motorOnFor"] = "wedo2_motorOnFor";
|
|
156
|
+
OpCode["wedo2_motorOn"] = "wedo2_motorOn";
|
|
157
|
+
OpCode["wedo2_motorOff"] = "wedo2_motorOff";
|
|
158
|
+
OpCode["wedo2_startMotorPower"] = "wedo2_startMotorPower";
|
|
159
|
+
OpCode["wedo2_setMotorDirection"] = "wedo2_setMotorDirection";
|
|
160
|
+
OpCode["wedo2_setLightHue"] = "wedo2_setLightHue";
|
|
161
|
+
OpCode["wedo2_whenDistance"] = "wedo2_whenDistance";
|
|
162
|
+
OpCode["wedo2_whenTilted"] = "wedo2_whenTilted";
|
|
163
|
+
OpCode["wedo2_getDistance"] = "wedo2_getDistance";
|
|
164
|
+
OpCode["wedo2_isTilted"] = "wedo2_isTilted";
|
|
165
|
+
OpCode["wedo2_getTiltAngle"] = "wedo2_getTiltAngle";
|
|
166
|
+
// Deprecated
|
|
167
|
+
OpCode["motion_scroll_right"] = "motion_scroll_right";
|
|
168
|
+
OpCode["motion_scroll_up"] = "motion_scroll_up";
|
|
169
|
+
OpCode["motion_align_scene"] = "motion_align_scene";
|
|
170
|
+
OpCode["motion_xscroll"] = "motion_xscroll";
|
|
171
|
+
OpCode["motion_yscroll"] = "motion_yscroll";
|
|
172
|
+
OpCode["looks_hideallsprites"] = "looks_hideallsprites";
|
|
173
|
+
OpCode["looks_switchbackdroptoandwait"] = "looks_switchbackdroptoandwait";
|
|
174
|
+
OpCode["looks_changestretchby"] = "looks_changestretchby";
|
|
175
|
+
OpCode["looks_setstretchto"] = "looks_setstretchto";
|
|
176
|
+
OpCode["control_while"] = "control_while";
|
|
177
|
+
OpCode["control_for_each"] = "control_for_each";
|
|
178
|
+
OpCode["control_get_counter"] = "control_get_counter";
|
|
179
|
+
OpCode["control_incr_counter"] = "control_incr_counter";
|
|
180
|
+
OpCode["control_clear_counter"] = "control_clear_counter";
|
|
181
|
+
OpCode["control_all_at_once"] = "control_all_at_once";
|
|
182
|
+
OpCode["sensing_userid"] = "sensing_userid";
|
|
183
|
+
OpCode["sensing_loud"] = "sensing_loud";
|
|
184
|
+
OpCode["music_midiPlayDrumForBeats"] = "music_midiPlayDrumForBeats";
|
|
185
|
+
OpCode["music_midiSetInstrument"] = "music_midiSetInstrument";
|
|
186
|
+
OpCode["pen_setPenShadeToNumber"] = "pen_setPenShadeToNumber";
|
|
187
|
+
OpCode["pen_changePenShadeBy"] = "pen_changePenShadeBy";
|
|
188
|
+
OpCode["pen_setPenHueToNumber"] = "pen_setPenHueToNumber";
|
|
189
|
+
OpCode["pen_changePenHueBy"] = "pen_changePenHueBy";
|
|
190
|
+
OpCode["wedo2_playNoteFor"] = "wedo2_playNoteFor";
|
|
191
|
+
/*********
|
|
192
|
+
* MENUS *
|
|
193
|
+
*********/
|
|
194
|
+
OpCode["motion_pointtowards_menu"] = "motion_pointtowards_menu";
|
|
195
|
+
OpCode["motion_glideto_menu"] = "motion_glideto_menu";
|
|
196
|
+
OpCode["motion_goto_menu"] = "motion_goto_menu";
|
|
197
|
+
OpCode["looks_costume"] = "looks_costume";
|
|
198
|
+
OpCode["looks_backdrops"] = "looks_backdrops";
|
|
199
|
+
OpCode["sound_sounds_menu"] = "sound_sounds_menu";
|
|
200
|
+
OpCode["event_broadcast_menu"] = "broadcast_menu";
|
|
201
|
+
OpCode["control_create_clone_of_menu"] = "control_create_clone_of_menu";
|
|
202
|
+
OpCode["sensing_touchingobjectmenu"] = "sensing_touchingobjectmenu";
|
|
203
|
+
OpCode["sensing_distancetomenu"] = "sensing_distancetomenu";
|
|
204
|
+
OpCode["sensing_keyoptions"] = "sensing_keyoptions";
|
|
205
|
+
OpCode["sensing_of_object_menu"] = "sensing_of_object_menu";
|
|
206
|
+
OpCode["pen_menu_colorParam"] = "pen_menu_colorParam";
|
|
207
|
+
OpCode["music_menu_DRUM"] = "music_menu_DRUM";
|
|
208
|
+
OpCode["music_menu_INSTRUMENT"] = "music_menu_INSTRUMENT";
|
|
209
|
+
OpCode["note"] = "note";
|
|
210
|
+
OpCode["videoSensing_menu_ATTRIBUTE"] = "videoSensing_menu_ATTRIBUTE";
|
|
211
|
+
OpCode["videoSensing_menu_SUBJECT"] = "videoSensing_menu_SUBJECT";
|
|
212
|
+
OpCode["videoSensing_menu_VIDEO_STATE"] = "videoSensing_menu_VIDEO_STATE";
|
|
213
|
+
OpCode["wedo2_menu_MOTOR_ID"] = "wedo2_menu_MOTOR_ID";
|
|
214
|
+
OpCode["wedo2_menu_MOTOR_DIRECTION"] = "wedo2_menu_MOTOR_DIRECTION";
|
|
215
|
+
OpCode["wedo2_menu_TILT_DIRECTION"] = "wedo2_menu_TILT_DIRECTION";
|
|
216
|
+
OpCode["wedo2_menu_TILT_DIRECTION_ANY"] = "wedo2_menu_TILT_DIRECTION_ANY";
|
|
217
|
+
OpCode["wedo2_menu_OP"] = "wedo2_menu_OP";
|
|
218
|
+
})(OpCode = exports.OpCode || (exports.OpCode = {}));
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BDb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL09wQ29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLE1BbVBYO0FBblBELFdBQVksTUFBTTtJQUNoQjs7Z0JBRVk7SUFDWiwrQ0FBcUMsQ0FBQTtJQUNyQywrQ0FBcUMsQ0FBQTtJQUNyQyw2Q0FBbUMsQ0FBQTtJQUNuQyxxQ0FBMkIsQ0FBQTtJQUMzQix5Q0FBK0IsQ0FBQTtJQUMvQiwyQ0FBaUMsQ0FBQTtJQUNqQyx1REFBNkMsQ0FBQTtJQUM3Qyw2REFBbUQsQ0FBQTtJQUNuRCxxREFBMkMsQ0FBQTtJQUMzQywrQ0FBcUMsQ0FBQTtJQUNyQyxxQ0FBMkIsQ0FBQTtJQUMzQiwrQ0FBcUMsQ0FBQTtJQUNyQyxxQ0FBMkIsQ0FBQTtJQUMzQix5REFBK0MsQ0FBQTtJQUMvQyw2REFBbUQsQ0FBQTtJQUNuRCwrQ0FBcUMsQ0FBQTtJQUNyQywrQ0FBcUMsQ0FBQTtJQUNyQywrQ0FBcUMsQ0FBQTtJQUVyQywrQ0FBcUMsQ0FBQTtJQUNyQyxpQ0FBdUIsQ0FBQTtJQUN2QixtREFBeUMsQ0FBQTtJQUN6QyxxQ0FBMkIsQ0FBQTtJQUMzQix5REFBK0MsQ0FBQTtJQUMvQyxpREFBdUMsQ0FBQTtJQUN2QywyREFBaUQsQ0FBQTtJQUNqRCxtREFBeUMsQ0FBQTtJQUN6QyxtREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBbUMsQ0FBQTtJQUNuQyx1REFBNkMsQ0FBQTtJQUM3QyxpREFBdUMsQ0FBQTtJQUN2QyxpRUFBdUQsQ0FBQTtJQUN2RCxtQ0FBeUIsQ0FBQTtJQUN6QixtQ0FBeUIsQ0FBQTtJQUN6QixxREFBMkMsQ0FBQTtJQUMzQyx5RUFBK0QsQ0FBQTtJQUMvRCw2REFBbUQsQ0FBQTtJQUNuRCwrREFBcUQsQ0FBQTtJQUNyRCxtQ0FBeUIsQ0FBQTtJQUV6QixxREFBMkMsQ0FBQTtJQUMzQyxtQ0FBeUIsQ0FBQTtJQUN6QixxREFBMkMsQ0FBQTtJQUMzQyx1REFBNkMsQ0FBQTtJQUM3QyxpREFBdUMsQ0FBQTtJQUN2QyxtREFBeUMsQ0FBQTtJQUN6Qyx1REFBNkMsQ0FBQTtJQUM3QyxpREFBdUMsQ0FBQTtJQUN2Qyx1Q0FBNkIsQ0FBQTtJQUU3Qix5REFBK0MsQ0FBQTtJQUMvQyx1REFBNkMsQ0FBQTtJQUM3QyxxRUFBMkQsQ0FBQTtJQUMzRCwyREFBaUQsQ0FBQTtJQUNqRCx1RUFBNkQsQ0FBQTtJQUM3RCx5REFBK0MsQ0FBQTtJQUMvQyxxRUFBMkQsQ0FBQTtJQUMzRCw2Q0FBbUMsQ0FBQTtJQUNuQywyREFBaUQsQ0FBQTtJQUVqRCx1Q0FBNkIsQ0FBQTtJQUM3QiwyQ0FBaUMsQ0FBQTtJQUNqQyw2Q0FBbUMsQ0FBQTtJQUNuQyxtQ0FBeUIsQ0FBQTtJQUN6Qiw2Q0FBbUMsQ0FBQTtJQUNuQyxtREFBeUMsQ0FBQTtJQUN6Qyx1REFBNkMsQ0FBQTtJQUM3Qyx1Q0FBNkIsQ0FBQTtJQUM3QiwyREFBaUQsQ0FBQTtJQUNqRCw2REFBbUQsQ0FBQTtJQUNuRCxpRUFBdUQsQ0FBQTtJQUV2RCwyREFBaUQsQ0FBQTtJQUNqRCx5REFBK0MsQ0FBQTtJQUMvQyx1RUFBNkQsQ0FBQTtJQUM3RCxtREFBeUMsQ0FBQTtJQUN6QyxtREFBeUMsQ0FBQTtJQUN6QywyQ0FBaUMsQ0FBQTtJQUNqQyxtREFBeUMsQ0FBQTtJQUN6QyxpREFBdUMsQ0FBQTtJQUN2QywyQ0FBaUMsQ0FBQTtJQUNqQywyQ0FBaUMsQ0FBQTtJQUNqQyxxREFBMkMsQ0FBQTtJQUMzQywrQ0FBcUMsQ0FBQTtJQUNyQyx5Q0FBK0IsQ0FBQTtJQUMvQixtREFBeUMsQ0FBQTtJQUN6QyxtQ0FBeUIsQ0FBQTtJQUN6Qiw2Q0FBbUMsQ0FBQTtJQUNuQyx5REFBK0MsQ0FBQTtJQUMvQywrQ0FBcUMsQ0FBQTtJQUVyQyx1Q0FBNkIsQ0FBQTtJQUM3QixpREFBdUMsQ0FBQTtJQUN2QyxpREFBdUMsQ0FBQTtJQUN2Qyw2Q0FBbUMsQ0FBQTtJQUNuQyw2Q0FBbUMsQ0FBQTtJQUNuQyxxQ0FBMkIsQ0FBQTtJQUMzQixxQ0FBMkIs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
|
package/lib/Project.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Sprite, Stage } from "./Target";
|
|
2
|
+
import fromSb3, { fromSb3JSON } from "./io/sb3/fromSb3";
|
|
3
|
+
export type TextToSpeechLanguage = "ar" | "zh-cn" | "da" | "nl" | "en" | "fr" | "de" | "hi" | "is" | "it" | "ja" | "ko" | "nb" | "pl" | "pt-br" | "pt" | "ro" | "ru" | "es" | "es-419" | "sv" | "tr" | "cy";
|
|
4
|
+
export default class Project {
|
|
5
|
+
static fromSb3: typeof fromSb3;
|
|
6
|
+
static fromSb3JSON: typeof fromSb3JSON;
|
|
7
|
+
toSb3: (options?: Partial<import("./io/sb3/toSb3").ToSb3Options> | undefined) => import("./io/sb3/toSb3").ToSb3Output;
|
|
8
|
+
toLeopard: (inOptions?: Partial<import("./io/leopard/toLeopard").ToLeopardOptions> | undefined, prettierConfig?: import("prettier").Options | undefined) => Promise<{
|
|
9
|
+
[fileName: string]: string;
|
|
10
|
+
}>;
|
|
11
|
+
toScratchblocks: (inOptions?: Partial<import("./io/scratchblocks/toScratchblocks").ToScratchblocksOptions> | undefined) => {
|
|
12
|
+
[targetName: string]: string;
|
|
13
|
+
};
|
|
14
|
+
stage: Stage;
|
|
15
|
+
sprites: Sprite[];
|
|
16
|
+
tempo: number;
|
|
17
|
+
videoOn: boolean;
|
|
18
|
+
videoAlpha: number;
|
|
19
|
+
textToSpeechLanguage: TextToSpeechLanguage | null;
|
|
20
|
+
constructor(options: {
|
|
21
|
+
stage?: Stage;
|
|
22
|
+
sprites?: Sprite[];
|
|
23
|
+
tempo?: number;
|
|
24
|
+
videoOn?: boolean;
|
|
25
|
+
videoAlpha?: number;
|
|
26
|
+
textToSpeechLanguage?: TextToSpeechLanguage;
|
|
27
|
+
});
|
|
28
|
+
sprite(id: string | number): Sprite | null;
|
|
29
|
+
}
|
package/lib/Project.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
var Target_1 = require("./Target");
|
|
30
|
+
var fromSb3_1 = __importStar(require("./io/sb3/fromSb3"));
|
|
31
|
+
var toSb3_1 = __importDefault(require("./io/sb3/toSb3"));
|
|
32
|
+
var toLeopard_1 = __importDefault(require("./io/leopard/toLeopard"));
|
|
33
|
+
var toScratchblocks_1 = __importDefault(require("./io/scratchblocks/toScratchblocks"));
|
|
34
|
+
var Project = /** @class */ (function () {
|
|
35
|
+
function Project(options) {
|
|
36
|
+
this.toSb3 = toSb3_1.default.bind(null, this);
|
|
37
|
+
this.toLeopard = toLeopard_1.default.bind(null, this);
|
|
38
|
+
this.toScratchblocks = toScratchblocks_1.default.bind(null, this);
|
|
39
|
+
this.stage = new Target_1.Stage();
|
|
40
|
+
this.sprites = [];
|
|
41
|
+
this.tempo = 60;
|
|
42
|
+
this.videoOn = false;
|
|
43
|
+
this.videoAlpha = 0.5;
|
|
44
|
+
this.textToSpeechLanguage = null;
|
|
45
|
+
Object.assign(this, options);
|
|
46
|
+
for (var _i = 0, _a = this.sprites; _i < _a.length; _i++) {
|
|
47
|
+
var sprite = _a[_i];
|
|
48
|
+
sprite.project = this;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
Project.prototype.sprite = function (id) {
|
|
52
|
+
switch (typeof id) {
|
|
53
|
+
case "string":
|
|
54
|
+
return this.sprites.find(function (sprite) { return sprite.name === id; }) || null;
|
|
55
|
+
case "number":
|
|
56
|
+
return this.sprites[id] || null;
|
|
57
|
+
default:
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
Project.fromSb3 = fromSb3_1.default;
|
|
62
|
+
Project.fromSb3JSON = fromSb3_1.fromSb3JSON;
|
|
63
|
+
return Project;
|
|
64
|
+
}());
|
|
65
|
+
exports.default = Project;
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBeUM7QUFFekMsMERBQXdEO0FBQ3hELHlEQUFtQztBQUNuQyxxRUFBK0M7QUFDL0MsdUZBQWlFO0FBMkJqRTtJQWVFLGlCQUFZLE9BT1g7UUFsQk0sVUFBSyxHQUFHLGVBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9CLGNBQVMsR0FBRyxtQkFBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsb0JBQWUsR0FBRyx5QkFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbkQsVUFBSyxHQUFVLElBQUksY0FBSyxFQUFFLENBQUM7UUFDM0IsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixlQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLHlCQUFvQixHQUFnQyxJQUFJLENBQUM7UUFVOUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFN0IsS0FBcUIsVUFBWSxFQUFaLEtBQUEsSUFBSSxDQUFDLE9BQU8sRUFBWixjQUFZLEVBQVosSUFBWSxFQUFFO1lBQTlCLElBQU0sTUFBTSxTQUFBO1lBQ2YsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRU0sd0JBQU0sR0FBYixVQUFjLEVBQW1CO1FBQy9CLFFBQVEsT0FBTyxFQUFFLEVBQUU7WUFDakIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsRUFBbEIsQ0FBa0IsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUNqRSxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUNsQztnQkFDRSxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0gsQ0FBQztJQXRDYSxlQUFPLEdBQUcsaUJBQU8sQ0FBQztJQUNsQixtQkFBVyxHQUFHLHFCQUFXLENBQUM7SUFzQzFDLGNBQUM7Q0FBQSxBQXhDRCxJQXdDQztrQkF4Q29CLE9BQU8ifQ==
|
package/lib/Script.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Block from "./Block";
|
|
2
|
+
export default class Script {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
blocks: Block[];
|
|
6
|
+
name: string;
|
|
7
|
+
constructor(options: {
|
|
8
|
+
blocks: Block[];
|
|
9
|
+
x?: number;
|
|
10
|
+
y?: number;
|
|
11
|
+
name?: string;
|
|
12
|
+
});
|
|
13
|
+
get hat(): Block | null;
|
|
14
|
+
get body(): Block[];
|
|
15
|
+
setName(name: string): void;
|
|
16
|
+
}
|
package/lib/Script.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var OpCode_1 = require("./OpCode");
|
|
4
|
+
var Script = /** @class */ (function () {
|
|
5
|
+
function Script(options) {
|
|
6
|
+
var _a, _b;
|
|
7
|
+
this.blocks = options.blocks;
|
|
8
|
+
this.x = (_a = options.x) !== null && _a !== void 0 ? _a : 0;
|
|
9
|
+
this.y = (_b = options.y) !== null && _b !== void 0 ? _b : 0;
|
|
10
|
+
if (typeof options.name === "undefined") {
|
|
11
|
+
switch (this.blocks[0].opcode) {
|
|
12
|
+
case OpCode_1.OpCode.event_whenflagclicked:
|
|
13
|
+
this.name = "when_green_flag_clicked";
|
|
14
|
+
break;
|
|
15
|
+
case OpCode_1.OpCode.event_whenbroadcastreceived:
|
|
16
|
+
this.name = "when_i_receive_".concat(this.blocks[0].inputs.BROADCAST_OPTION.value);
|
|
17
|
+
break;
|
|
18
|
+
case OpCode_1.OpCode.event_whenkeypressed:
|
|
19
|
+
this.name = "when_key_".concat(this.blocks[0].inputs.KEY_OPTION.value, "_pressed");
|
|
20
|
+
break;
|
|
21
|
+
case OpCode_1.OpCode.procedures_definition:
|
|
22
|
+
this.name = this.blocks[0].inputs.ARGUMENTS.value
|
|
23
|
+
.filter(function (argument) { return argument.type === "label"; })
|
|
24
|
+
.map(function (argument) { return argument.name; })
|
|
25
|
+
.join("_");
|
|
26
|
+
break;
|
|
27
|
+
default:
|
|
28
|
+
this.name = this.blocks[0].opcode.split("_").slice(1).join("_");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.name = options.name;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
Object.defineProperty(Script.prototype, "hat", {
|
|
36
|
+
get: function () {
|
|
37
|
+
if (this.blocks.length === 0) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
var first = this.blocks[0];
|
|
41
|
+
if (!first.isHat) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return first;
|
|
45
|
+
},
|
|
46
|
+
enumerable: false,
|
|
47
|
+
configurable: true
|
|
48
|
+
});
|
|
49
|
+
Object.defineProperty(Script.prototype, "body", {
|
|
50
|
+
get: function () {
|
|
51
|
+
return this.blocks.filter(function (block) { return !block.isHat; });
|
|
52
|
+
},
|
|
53
|
+
enumerable: false,
|
|
54
|
+
configurable: true
|
|
55
|
+
});
|
|
56
|
+
Script.prototype.setName = function (name) {
|
|
57
|
+
this.name = name;
|
|
58
|
+
};
|
|
59
|
+
return Script;
|
|
60
|
+
}());
|
|
61
|
+
exports.default = Script;
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLG1DQUFrQztBQUVsQztJQU1FLGdCQUFZLE9BQW1FOztRQUM3RSxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFBLE9BQU8sQ0FBQyxDQUFDLG1DQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQUEsT0FBTyxDQUFDLENBQUMsbUNBQUksQ0FBQyxDQUFDO1FBRXhCLElBQUksT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUN2QyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO2dCQUM3QixLQUFLLGVBQU0sQ0FBQyxxQkFBcUI7b0JBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcseUJBQXlCLENBQUM7b0JBQ3RDLE1BQU07Z0JBQ1IsS0FBSyxlQUFNLENBQUMsMkJBQTJCO29CQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLHlCQUFrQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUUsQ0FBQztvQkFDN0UsTUFBTTtnQkFDUixLQUFLLGVBQU0sQ0FBQyxvQkFBb0I7b0JBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsbUJBQVksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssYUFBVSxDQUFDO29CQUN6RSxNQUFNO2dCQUNSLEtBQUssZUFBTSxDQUFDLHFCQUFxQjtvQkFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSzt5QkFDOUMsTUFBTSxDQUFDLFVBQUEsUUFBUSxJQUFJLE9BQUEsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQXpCLENBQXlCLENBQUM7eUJBQzdDLEdBQUcsQ0FBQyxVQUFBLFFBQVEsSUFBSSxPQUFBLFFBQVEsQ0FBQyxJQUFJLEVBQWIsQ0FBYSxDQUFDO3lCQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2IsTUFBTTtnQkFDUjtvQkFDRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25FO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxzQkFBSSx1QkFBRzthQUFQO1lBQ0UsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFFRCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO2dCQUNoQixPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLHdCQUFJO2FBQVI7WUFDRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFaLENBQVksQ0FBQyxDQUFDO1FBQ25ELENBQUM7OztPQUFBO0lBRU0sd0JBQU8sR0FBZCxVQUFlLElBQVk7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNILGFBQUM7QUFBRCxDQUFDLEFBeERELElBd0RDIn0=
|
package/lib/Sound.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
type SoundDataFormat = "mp3" | "wav" | "wave";
|
|
2
|
+
export default class Sound {
|
|
3
|
+
name: string;
|
|
4
|
+
id: string;
|
|
5
|
+
asset: unknown;
|
|
6
|
+
md5: string;
|
|
7
|
+
ext: SoundDataFormat;
|
|
8
|
+
sampleCount: number | null;
|
|
9
|
+
sampleRate: number | null;
|
|
10
|
+
constructor(options: {
|
|
11
|
+
name: string;
|
|
12
|
+
id?: string;
|
|
13
|
+
asset: unknown;
|
|
14
|
+
md5: string;
|
|
15
|
+
ext: SoundDataFormat;
|
|
16
|
+
sampleCount?: number | null;
|
|
17
|
+
sampleRate?: number | null;
|
|
18
|
+
});
|
|
19
|
+
setName(name: string): void;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
package/lib/Sound.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var id_1 = require("./util/id");
|
|
4
|
+
var Sound = /** @class */ (function () {
|
|
5
|
+
function Sound(options) {
|
|
6
|
+
var _a, _b, _c;
|
|
7
|
+
this.name = options.name;
|
|
8
|
+
this.id = (_a = options.id) !== null && _a !== void 0 ? _a : (0, id_1.generateId)();
|
|
9
|
+
this.asset = options.asset;
|
|
10
|
+
this.md5 = options.md5;
|
|
11
|
+
this.ext = options.ext;
|
|
12
|
+
this.sampleCount = (_b = options.sampleCount) !== null && _b !== void 0 ? _b : null;
|
|
13
|
+
this.sampleRate = (_c = options.sampleRate) !== null && _c !== void 0 ? _c : null;
|
|
14
|
+
}
|
|
15
|
+
Sound.prototype.setName = function (name) {
|
|
16
|
+
this.name = name;
|
|
17
|
+
};
|
|
18
|
+
return Sound;
|
|
19
|
+
}());
|
|
20
|
+
exports.default = Sound;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU291bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU291bmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxnQ0FBdUM7QUFJdkM7SUFZRSxlQUFZLE9BV1g7O1FBQ0MsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBQSxPQUFPLENBQUMsRUFBRSxtQ0FBSSxJQUFBLGVBQVUsR0FBRSxDQUFDO1FBRXJDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUUzQixJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBRXZCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBQSxPQUFPLENBQUMsV0FBVyxtQ0FBSSxJQUFJLENBQUM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFBLE9BQU8sQ0FBQyxVQUFVLG1DQUFJLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRU0sdUJBQU8sR0FBZCxVQUFlLElBQVk7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNILFlBQUM7QUFBRCxDQUFDLEFBdkNELElBdUNDIn0=
|
package/lib/Target.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import Block from "./Block";
|
|
2
|
+
import Costume from "./Costume";
|
|
3
|
+
import Project from "./Project";
|
|
4
|
+
import Script from "./Script";
|
|
5
|
+
import Sound from "./Sound";
|
|
6
|
+
import { List, Variable } from "./Data";
|
|
7
|
+
export default class Target {
|
|
8
|
+
name: string;
|
|
9
|
+
costumes: Costume[];
|
|
10
|
+
costumeNumber: number;
|
|
11
|
+
sounds: Sound[];
|
|
12
|
+
scripts: Script[];
|
|
13
|
+
variables: Variable[];
|
|
14
|
+
lists: List[];
|
|
15
|
+
volume: number;
|
|
16
|
+
layerOrder: number;
|
|
17
|
+
project?: Project;
|
|
18
|
+
isStage: boolean;
|
|
19
|
+
constructor(options: TargetOptions);
|
|
20
|
+
get blocks(): Block[];
|
|
21
|
+
setName(name: string): void;
|
|
22
|
+
getCostume(name: string): Costume | undefined;
|
|
23
|
+
getSound(name: string): Sound | undefined;
|
|
24
|
+
getVariable(name: string): Variable | undefined;
|
|
25
|
+
getList(name: string): List | undefined;
|
|
26
|
+
}
|
|
27
|
+
export type TargetOptions = Partial<Target> & {
|
|
28
|
+
name: string;
|
|
29
|
+
};
|
|
30
|
+
export declare class Stage extends Target {
|
|
31
|
+
name: string;
|
|
32
|
+
isStage: true;
|
|
33
|
+
constructor(options?: TargetOptions);
|
|
34
|
+
}
|
|
35
|
+
type SpriteOptions = TargetOptions & Partial<Sprite>;
|
|
36
|
+
export declare class Sprite extends Target {
|
|
37
|
+
x: number;
|
|
38
|
+
y: number;
|
|
39
|
+
size: number;
|
|
40
|
+
direction: number;
|
|
41
|
+
rotationStyle: "normal" | "leftRight" | "none";
|
|
42
|
+
isDraggable: boolean;
|
|
43
|
+
visible: boolean;
|
|
44
|
+
constructor(options: SpriteOptions);
|
|
45
|
+
delete(): void;
|
|
46
|
+
}
|
|
47
|
+
export {};
|
package/lib/Target.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.Sprite = exports.Stage = void 0;
|
|
19
|
+
var Target = /** @class */ (function () {
|
|
20
|
+
function Target(options) {
|
|
21
|
+
this.costumes = [];
|
|
22
|
+
this.costumeNumber = 0;
|
|
23
|
+
this.sounds = [];
|
|
24
|
+
this.scripts = [];
|
|
25
|
+
this.variables = [];
|
|
26
|
+
this.lists = [];
|
|
27
|
+
this.volume = 100;
|
|
28
|
+
this.layerOrder = 0;
|
|
29
|
+
this.isStage = false;
|
|
30
|
+
Object.assign(this, options);
|
|
31
|
+
}
|
|
32
|
+
Object.defineProperty(Target.prototype, "blocks", {
|
|
33
|
+
get: function () {
|
|
34
|
+
var collector = [];
|
|
35
|
+
for (var _i = 0, _a = this.scripts; _i < _a.length; _i++) {
|
|
36
|
+
var script = _a[_i];
|
|
37
|
+
for (var _b = 0, _c = script.blocks; _b < _c.length; _b++) {
|
|
38
|
+
var block = _c[_b];
|
|
39
|
+
recursive(block);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return collector;
|
|
43
|
+
function recursive(block) {
|
|
44
|
+
collector.push(block);
|
|
45
|
+
for (var _i = 0, _a = Object.values(block.inputs); _i < _a.length; _i++) {
|
|
46
|
+
var input = _a[_i];
|
|
47
|
+
switch (input.type) {
|
|
48
|
+
case "block":
|
|
49
|
+
recursive(input.value);
|
|
50
|
+
break;
|
|
51
|
+
case "blocks":
|
|
52
|
+
if (!input.value)
|
|
53
|
+
break;
|
|
54
|
+
for (var _b = 0, _c = input.value; _b < _c.length; _b++) {
|
|
55
|
+
var block_1 = _c[_b];
|
|
56
|
+
recursive(block_1);
|
|
57
|
+
}
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
enumerable: false,
|
|
64
|
+
configurable: true
|
|
65
|
+
});
|
|
66
|
+
Target.prototype.setName = function (name) {
|
|
67
|
+
this.name = name;
|
|
68
|
+
};
|
|
69
|
+
Target.prototype.getCostume = function (name) {
|
|
70
|
+
return this.costumes.find(function (costume) { return costume.name === name; });
|
|
71
|
+
};
|
|
72
|
+
Target.prototype.getSound = function (name) {
|
|
73
|
+
return this.sounds.find(function (sound) { return sound.name === name; });
|
|
74
|
+
};
|
|
75
|
+
Target.prototype.getVariable = function (name) {
|
|
76
|
+
return this.variables.find(function (variable) { return variable.name === name; });
|
|
77
|
+
};
|
|
78
|
+
Target.prototype.getList = function (name) {
|
|
79
|
+
return this.lists.find(function (list) { return list.name === name; });
|
|
80
|
+
};
|
|
81
|
+
return Target;
|
|
82
|
+
}());
|
|
83
|
+
exports.default = Target;
|
|
84
|
+
var Stage = /** @class */ (function (_super) {
|
|
85
|
+
__extends(Stage, _super);
|
|
86
|
+
function Stage(options) {
|
|
87
|
+
if (options === void 0) { options = { name: "Stage" }; }
|
|
88
|
+
var _this = _super.call(this, options) || this;
|
|
89
|
+
_this.name = "Stage";
|
|
90
|
+
_this.isStage = true;
|
|
91
|
+
Object.assign(_this, options);
|
|
92
|
+
return _this;
|
|
93
|
+
}
|
|
94
|
+
return Stage;
|
|
95
|
+
}(Target));
|
|
96
|
+
exports.Stage = Stage;
|
|
97
|
+
var Sprite = /** @class */ (function (_super) {
|
|
98
|
+
__extends(Sprite, _super);
|
|
99
|
+
function Sprite(options) {
|
|
100
|
+
var _this = _super.call(this, options) || this;
|
|
101
|
+
_this.x = 0;
|
|
102
|
+
_this.y = 0;
|
|
103
|
+
_this.size = 1;
|
|
104
|
+
_this.direction = 90;
|
|
105
|
+
_this.rotationStyle = "normal";
|
|
106
|
+
_this.isDraggable = true;
|
|
107
|
+
_this.visible = true;
|
|
108
|
+
Object.assign(_this, options);
|
|
109
|
+
return _this;
|
|
110
|
+
}
|
|
111
|
+
Sprite.prototype.delete = function () {
|
|
112
|
+
if (!this.project)
|
|
113
|
+
return;
|
|
114
|
+
var index = this.project.sprites.indexOf(this);
|
|
115
|
+
this.project.sprites.splice(index, 1);
|
|
116
|
+
};
|
|
117
|
+
return Sprite;
|
|
118
|
+
}(Target));
|
|
119
|
+
exports.Sprite = Sprite;
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1RhcmdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQTtJQWVFLGdCQUFZLE9BQXNCO1FBYjNCLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDekIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFDM0IsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixXQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUlmLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELHNCQUFXLDBCQUFNO2FBQWpCO1lBQ0UsSUFBTSxTQUFTLEdBQVksRUFBRSxDQUFDO1lBRTlCLEtBQXFCLFVBQVksRUFBWixLQUFBLElBQUksQ0FBQyxPQUFPLEVBQVosY0FBWSxFQUFaLElBQVksRUFBRTtnQkFBOUIsSUFBTSxNQUFNLFNBQUE7Z0JBQ2YsS0FBb0IsVUFBYSxFQUFiLEtBQUEsTUFBTSxDQUFDLE1BQU0sRUFBYixjQUFhLEVBQWIsSUFBYSxFQUFFO29CQUE5QixJQUFNLEtBQUssU0FBQTtvQkFDZCxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xCO2FBQ0Y7WUFFRCxPQUFPLFNBQVMsQ0FBQztZQUVqQixTQUFTLFNBQVMsQ0FBQyxLQUFZO2dCQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUV0QixLQUFvQixVQUEyQixFQUEzQixLQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUEzQixjQUEyQixFQUEzQixJQUEyQixFQUFFO29C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
|