summary refs log tree commit diff stats
path: root/Makefile
Commit message (Expand)AuthorAgeFilesLines
* make clean: fixedhut2010-04-071-1/+1
* Makefile: improvementshut2010-04-031-2/+2
* clean uphut2010-03-311-12/+0
* make test: reduce verbosityhut2010-03-261-1/+1
* fixed make cleanhut2010-03-251-1/+1
* make clean: safer method of cleaninghut2010-03-221-1/+1
* make compile: create pyc files toohut2010-03-221-1/+2
* make test: don't use "clean" before "test"hut2010-03-211-1/+1
* make install: chmod after copyinghut2010-03-141-0/+2
* incremented verison number v1.0.4hut2010-03-121-1/+1
* make install: catch an exceptionhut2010-03-121-0/+4
* make push: removed "hut" repohut2010-03-121-1/+0
* misc changes, make installhut2010-03-121-7/+34
* make snapshot: changed the format of the filenamehut2010-03-081-2/+3
* make minimal_snapshot: snapshot with only neccessary fileshut2010-03-081-1/+13
* make clean: fixedhut2010-02-281-2/+2
* Makefile: added make info + some improvementshut2010-02-271-7/+22
* added make snapshothut2010-02-251-0/+4
* make clean: delete pyo files as well.hut2010-02-251-1/+1
* added Makefilehut2010-02-251-0/+39
d-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
import bindings/quickjs

# This is the WebIDL dictionary type.
# We only use it for type inference in generics.
#TODO required members
type JSDict* = object of RootObj

# Containers compatible with the internal representation of strings in QuickJS.
# To convert these, a copy is still needed; however, they remove the UTF-8
# transcoding step.
type
  NarrowString* = distinct string
  WideString* = distinct seq[uint16]

# Various containers for array buffer types.
# Converting these only requires copying the metadata; buffers are never copied.
type
  JSArrayBuffer* = object
    p*: ptr UncheckedArray[uint8]
    len*: csize_t
    dealloc*: JSFreeArrayBufferDataFunc

  JSArrayBufferView* = object
    abuf*: JSArrayBuffer
    offset*: csize_t # offset into the buffer
    nmemb*: csize_t # number of members
    nsize*: csize_t # member size

  JSUint8Array* = object
    abuf*: JSArrayBuffer
    offset*: csize_t # offset into the buffer
    nmemb*: csize_t # number of members

func high*(abuf: JSArrayBuffer): int =
  return int(abuf.len) - 1

# A specialization of JSValue to make writing generic code for functions
# easier.
type JSValueFunction* = ref object
  fun*: JSValue

converter toJSValue*(f: JSValueFunction): JSValue =
  f.fun