|
11 | 11 | determine datatypes in javascript |
12 | 12 | </title> |
13 | 13 |
|
14 | | - <base href='https://javascript-2020.github.io/blog/07-08-25/determine-datatypes-in-javascript/determine-datatypes-in-javascript.html'> |
| 14 | + |
| 15 | + <base href='https://ext-code.com/blog/07-08-25/determine-datatypes-in-javascript/'> |
| 16 | + <base href='https://javascript-2020.github.io/blog/07-08-25/determine-datatypes-in-javascript/'> |
| 17 | + |
| 18 | + |
15 | 19 | <link rel=canonical href='https://ext-code.com/blog/07-08-25/determine-datatypes-in-javascript/determine-datatypes-in-javascript.html'> |
16 | 20 |
|
17 | 21 | <link rel=icon type='image/png' href='/blog/image/blog-30.png'> |
|
25 | 29 |
|
26 | 30 |
|
27 | 31 |
|
| 32 | + <script src='https://libs.ext-code.com/js/dom/component/component.js'></script> |
| 33 | + |
28 | 34 | <script init> |
29 | 35 | console.clear(); |
| 36 | + console.log('determine-datatypes-in-javascript.html'); |
| 37 | + console.log(); |
30 | 38 | console.json=v=>console.log(JSON.stringify(v,null,4)); |
31 | | - var version = 'v1.0'; |
32 | | - |
33 | | - var df = true; |
34 | | - |
| 39 | + var df=true,did='page' |
| 40 | + ; |
35 | 41 |
|
36 | 42 | var ext; |
37 | 43 | var $; |
38 | 44 | var datatype; |
39 | 45 | var menumod; |
40 | 46 | var code; |
41 | 47 |
|
42 | | - var mod = {}; |
43 | 48 |
|
44 | 49 | //var codeblock; |
45 | 50 |
|
46 | 51 |
|
47 | 52 | //: |
48 | 53 |
|
| 54 | + |
| 55 | + mod.stack.add = init; |
49 | 56 |
|
50 | 57 | async function init(){ |
51 | 58 | //debug('init',version); |
|
61 | 68 | await initdom(document.body); |
62 | 69 |
|
63 | 70 |
|
64 | | - init.complete(); |
65 | | - |
66 | 71 | }//init |
67 | 72 |
|
68 | 73 |
|
69 | | - init.stack = [init]; |
70 | | - init.stack.ct = 0; |
71 | | - init.stack.total = 1; |
72 | | - init.stack.mode = ''; |
73 | | - init.stack.complete = false; |
74 | | - Object.defineProperty(init.stack,'add',{get:()=>{ |
75 | | - init.stack.total++; |
76 | | - if(init.stack.mode){ |
77 | | - console[init.stack.mode]('add',init.stack.ct,init.stack.total); |
78 | | - //console.trace(); |
79 | | - } |
80 | | - }}); |
81 | | - Object.defineProperty(init.stack,'complete',{get:()=>{ |
82 | | - init.stack.ct++; |
83 | | - if(init.stack.mode){ |
84 | | - console[init.stack.mode]('complete',init.stack.ct,init.stack.total); |
85 | | - //console.trace(); |
86 | | - } |
87 | | - if(init.stack.ct>=init.stack.total){ |
88 | | - //console.log('*** complete'); |
89 | | - init.stack.ct = 0; |
90 | | - init.stack.total = 0; |
91 | | - var list = [...init.stack]; |
92 | | - init.stack.length = 0; |
93 | | - list.forEach(fn=>fn()); |
94 | | - } |
95 | | - }}); |
96 | | - |
97 | | - // (typeof init!='undefined' && init?.stack && init.stack.add) |
98 | | - // (typeof init!='undefined' && init?.stack && init.stack.complete) |
99 | | - |
100 | | - |
101 | | - init.complete = function(){ |
102 | | - |
103 | | - init.complete.stack.forEach(fn=>fn()); |
104 | | - |
105 | | - |
106 | | - }//complete |
107 | | - |
108 | | - init.complete.stack = []; |
109 | | - init.complete.add = fn=>init.complete.stack.push(fn); |
110 | | - |
111 | | - |
112 | | - |
113 | 74 | (async()=>{ |
114 | | - |
115 | | - init.stack.add; |
116 | 75 |
|
| 76 | + mod.stack.add; |
117 | 77 |
|
118 | | - var url; |
119 | | - var headers; |
120 | | - var token = localStorage['github-token']; |
121 | | - if(token){ |
122 | | - url = 'https://api.github.com/repos/javascript-2020/ext-code/contents/ext-loader.js'; |
123 | | - headers = {accept:'application/vnd.github.raw',authorization:`bearer ${token}`}; |
124 | | - }else{ |
125 | | - url = 'https://raw.githubusercontent.com/javascript-2020/ext-code/main/ext-loader.js'; |
126 | | - } |
127 | | - |
128 | | - var res = await fetch(url,{headers}); |
129 | | - var txt = await res.text(); |
130 | | - |
131 | | - if(res.headers.get('content-type').includes('json')){ |
132 | | - console.log('*** ext : json'); |
133 | | - var json = JSON.parse(txt); |
134 | | - var b64 = json.content; |
135 | | - txt = atob(b64); |
136 | | - }else{ |
137 | | - console.log('*** ext : text'); |
138 | | - } |
139 | | - |
140 | | - ext = eval(txt); |
141 | | - |
142 | | - |
| 78 | + ({ext} = await import('https://libs.ext-code.com/js/io/ext-loader/ext-loader.m.js')); |
| 79 | + |
143 | 80 | var promise = ext.load.libs( |
144 | | - 'js/dom/$.js.api', |
| 81 | + 'js/dom/$.js', |
145 | 82 | 'js/core/datatype.js', |
146 | 83 | 'js/dom/menumod/menumod.js', |
147 | | - 'js/dom/code/code.js.api', |
| 84 | + 'js/dom/keydown/keydown.js', |
| 85 | + 'js/dom/code/v2.0/code-v2.0.js.api', |
148 | 86 | ); |
149 | | - [$,datatype,menumod,code] = await promise; |
| 87 | + [$,datatype,menumod,keydown,code] = await promise; |
150 | 88 |
|
| 89 | + |
151 | 90 | code.initmod({ext,$,datatype,menumod}); |
152 | 91 |
|
153 | 92 |
|
154 | | - init.stack.complete; |
155 | | - |
| 93 | + mod.stack.complete; |
| 94 | + |
156 | 95 | })(); |
157 | 96 |
|
| 97 | + |
158 | 98 | </script init> |
159 | 99 |
|
160 | 100 |
|
@@ -257,24 +197,20 @@ <h3> |
257 | 197 |
|
258 | 198 |
|
259 | 199 | var node = $(root,'code-block'); |
260 | | - code.code_block(node,{menu,ace}); |
| 200 | + code.code_block(mod,node,{menu,ace}); |
261 | 201 |
|
262 | 202 |
|
263 | 203 |
|
264 | 204 |
|
265 | | - await code.snippet_console.all(root,{menu,ace}); |
| 205 | + //await code.snippet_console.all(root,{menu,ace}); |
266 | 206 |
|
267 | 207 |
|
268 | 208 |
|
269 | 209 |
|
270 | 210 | }//initdom |
271 | 211 |
|
272 | 212 |
|
273 | | - //: |
274 | | - |
275 | | - |
276 | 213 |
|
277 | | - init.stack.complete; |
278 | 214 |
|
279 | 215 |
|
280 | 216 | </script> |
|
0 commit comments