- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsystemBase.js
More file actions
Latest commit
87 lines (76 loc) · 1.2 KB
/
Copy pathsystemBase.js
File metadata and controls
87 lines (76 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
varbuiltins=enum{
builtinStr,
builtinObj,
builtinArray,
builtinNum,
builtinBool,
builtinDate,
builtinFcn,
builtinDoc,
builtinDocId,
builtinKey,
builtinCatalog,
builtinDb,
builtinStore,
builtinIndex,
builtinCursor,
builtinIter,
builtinTxn
};
var_values=enum{
vt_undef=0,
vt_bool,
vt_int,
vt_dbl,
vt_date,
vt_infinite,
vt_number,
vt_string,
vt_nan,
vt_null,
vt_file,
vt_status,
vt_control,
vt_closure,
vt_endlist,
vt_document,
vt_docId,
vt_txnId,// 64 bit immediate
vt_lval,
vt_centi,
vt_array,
vt_object,
vt_binary,
vt_function,
vt_symbol,
vt_uuid,// 16 byte string
vt_md5,
vt_propfcn,
vt_propval,
vt_weakref,
vt_hndl,
vt_key,
vt_MAX
};
functionObject(){
varans;
if(this)
ans=this;
else
ans={};
if(arguments.length>0)
ans.setValue(arguments[0]);
returnans;
}
jsdb_installProps(Object,builtins.builtinObj,_values.vt_object);
Object.assign=function(){
vartarget,names,values;
if(arguments.length<1)
return{};
target=arguments[0];
if(typeoftarget=="object")
for(vari=1;i<arguments.length;i++)
for(varkeyinarguments[i])
target[key]=arguments[i][key];
returntarget;
};