Files
ueforth/web/utils.fs
2022-12-31 21:02:04 -08:00

51 lines
1.4 KiB
Forth

\ Copyright 2022 Bradley D. Nelson
\
\ Licensed under the Apache License, Version 2.0 (the "License");
\ you may not use this file except in compliance with the License.
\ You may obtain a copy of the License at
\
\ http://www.apache.org/licenses/LICENSE-2.0
\
\ Unless required by applicable law or agreed to in writing, software
\ distributed under the License is distributed on an "AS IS" BASIS,
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\ See the License for the specific language governing permissions and
\ limitations under the License.
web definitions
: web-type ( a n -- ) web-type-raw if pause then ;
' web-type is type
: web-key ( -- n ) begin pause web-key-raw dup if exit then drop again ;
' web-key is key
: web-key? ( -- f ) pause web-key?-raw ;
' web-key? is key?
' web-terminate is terminate
: upload-file ( a n -- )
upload-start
begin yield upload-done? until
upload-success? assert
;
: upload ( "filename" ) bl parse dup assert upload-file ;
: include-file { a n -- }
0 0 a n 0 getItem { len }
here { buf } len allot
buf len a n 0 getItem len = assert
a n 0 removeItem
buf len evaluate
;
: ls 0 keyCount 0 do pad 80 i 0 getKey pad swap type cr loop ;
: rm bl parse 0 removeItem ;
: import s" _temp.fs" 2dup upload-file include-file ;
: yielding begin 50 ms yield again ;
' yielding 10 10 task yielding-task
yielding-task start-task
forth definitions