/ test_objectpool.html
test_objectpool.html
 1  <!DOCTYPE html>
 2  <html lang="en">
 3  <head>
 4      <meta charset="utf-8">
 5      <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
 6  
 7      <title>Object Pool — Space.js</title>
 8  
 9      <link rel="preconnect" href="https://fonts.gstatic.com">
10      <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto+Mono">
11      <link rel="stylesheet" href="assets/css/style.css">
12  
13      <script type="importmap">
14          {
15              "imports": {
16                  "@alienkitty/space.js": "../src/index.js"
17              }
18          }
19      </script>
20  
21      <script type="module">
22          import { ObjectPool } from '@alienkitty/space.js';
23  
24          //
25  
26          const pool = new ObjectPool();
27  
28          for (let i = 0; i < 4; i++) {
29              pool.put(i);
30          }
31  
32          console.log(pool.length); // 4
33  
34          let object = pool.get();
35          console.log(object, pool.length); // 0 3
36  
37          object = pool.get();
38          console.log(object, pool.length); // 1 2
39  
40          object = pool.get();
41          console.log(object, pool.length); // 2 1
42  
43          object = pool.get();
44          console.log(object, pool.length); // 3 0
45  
46          object = pool.get();
47          console.log(object, pool.length); // null 0
48  
49          pool.put(object);
50          console.log(pool.length); // 1
51  
52          //
53  
54          const pool2 = new ObjectPool();
55          pool2.put(0, 1, 2, 3);
56          console.log(pool2.length); // 4
57  
58          const object2 = pool2.get();
59          console.log(object2, pool2.length); // 0 3
60  
61          pool2.put(object2);
62          console.log(pool2.length); // 4
63      </script>
64  </head>
65  <body>
66  </body>
67  </html>