zig-pug 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/binding.gyp +16 -10
  2. package/index.js +20 -0
  3. package/index.mjs +19 -2
  4. package/install.js +58 -0
  5. package/package.json +9 -6
  6. package/prebuilts/darwin-arm64/libzig-pug.a +0 -0
  7. package/prebuilts/darwin-x64/libzig-pug.a +0 -0
  8. package/prebuilts/linux-arm64/libzig-pug.a +0 -0
  9. package/prebuilts/linux-x64/libzig-pug.a +0 -0
  10. package/prebuilts/win32-x64/zig-pug.lib +0 -0
  11. package/vendor/mujs/COPYING +0 -16
  12. package/vendor/mujs/README +0 -50
  13. package/vendor/mujs/astnames.h +0 -92
  14. package/vendor/mujs/jsarray.c +0 -832
  15. package/vendor/mujs/jsboolean.c +0 -38
  16. package/vendor/mujs/jsbuiltin.c +0 -249
  17. package/vendor/mujs/jscompile.c +0 -1428
  18. package/vendor/mujs/jsdate.c +0 -861
  19. package/vendor/mujs/jsdtoa.c +0 -749
  20. package/vendor/mujs/jserror.c +0 -139
  21. package/vendor/mujs/jsfunction.c +0 -231
  22. package/vendor/mujs/jsgc.c +0 -284
  23. package/vendor/mujs/jsi.h +0 -870
  24. package/vendor/mujs/jsintern.c +0 -137
  25. package/vendor/mujs/jslex.c +0 -878
  26. package/vendor/mujs/jsmath.c +0 -194
  27. package/vendor/mujs/jsnumber.c +0 -198
  28. package/vendor/mujs/jsobject.c +0 -560
  29. package/vendor/mujs/json.c +0 -422
  30. package/vendor/mujs/jsparse.c +0 -1065
  31. package/vendor/mujs/jsproperty.c +0 -341
  32. package/vendor/mujs/jsregexp.c +0 -232
  33. package/vendor/mujs/jsrepr.c +0 -285
  34. package/vendor/mujs/jsrun.c +0 -2096
  35. package/vendor/mujs/jsstate.c +0 -334
  36. package/vendor/mujs/jsstring.c +0 -852
  37. package/vendor/mujs/jsvalue.c +0 -708
  38. package/vendor/mujs/libmujs.a +0 -0
  39. package/vendor/mujs/main.c +0 -396
  40. package/vendor/mujs/mujs.h +0 -253
  41. package/vendor/mujs/one.c +0 -25
  42. package/vendor/mujs/opnames.h +0 -85
  43. package/vendor/mujs/pp.c +0 -980
  44. package/vendor/mujs/regexp.c +0 -1277
  45. package/vendor/mujs/regexp.h +0 -46
  46. package/vendor/mujs/utf.c +0 -305
  47. package/vendor/mujs/utf.h +0 -52
  48. package/vendor/mujs/utfdata.h +0 -2209
@@ -1,137 +0,0 @@
1
- #include "jsi.h"
2
-
3
- /* Dynamically grown string buffer */
4
-
5
- void js_putc(js_State *J, js_Buffer **sbp, int c)
6
- {
7
- js_Buffer *sb = *sbp;
8
- if (!sb) {
9
- sb = js_malloc(J, sizeof *sb);
10
- sb->n = 0;
11
- sb->m = sizeof sb->s;
12
- *sbp = sb;
13
- } else if (sb->n == sb->m) {
14
- sb = js_realloc(J, sb, (sb->m *= 2) + soffsetof(js_Buffer, s));
15
- *sbp = sb;
16
- }
17
- sb->s[sb->n++] = c;
18
- }
19
-
20
- void js_puts(js_State *J, js_Buffer **sb, const char *s)
21
- {
22
- while (*s)
23
- js_putc(J, sb, *s++);
24
- }
25
-
26
- void js_putm(js_State *J, js_Buffer **sb, const char *s, const char *e)
27
- {
28
- while (s < e)
29
- js_putc(J, sb, *s++);
30
- }
31
-
32
- /* Use an AA-tree to quickly look up interned strings. */
33
-
34
- struct js_StringNode
35
- {
36
- js_StringNode *left, *right;
37
- int level;
38
- char string[1];
39
- };
40
-
41
- static js_StringNode jsS_sentinel = { &jsS_sentinel, &jsS_sentinel, 0, ""};
42
-
43
- static js_StringNode *jsS_newstringnode(js_State *J, const char *string, const char **result)
44
- {
45
- size_t n = strlen(string);
46
- if (n > JS_STRLIMIT)
47
- js_rangeerror(J, "invalid string length");
48
- js_StringNode *node = js_malloc(J, soffsetof(js_StringNode, string) + n + 1);
49
- node->left = node->right = &jsS_sentinel;
50
- node->level = 1;
51
- memcpy(node->string, string, n + 1);
52
- return *result = node->string, node;
53
- }
54
-
55
- static js_StringNode *jsS_skew(js_StringNode *node)
56
- {
57
- if (node->left->level == node->level) {
58
- js_StringNode *temp = node;
59
- node = node->left;
60
- temp->left = node->right;
61
- node->right = temp;
62
- }
63
- return node;
64
- }
65
-
66
- static js_StringNode *jsS_split(js_StringNode *node)
67
- {
68
- if (node->right->right->level == node->level) {
69
- js_StringNode *temp = node;
70
- node = node->right;
71
- temp->right = node->left;
72
- node->left = temp;
73
- ++node->level;
74
- }
75
- return node;
76
- }
77
-
78
- static js_StringNode *jsS_insert(js_State *J, js_StringNode *node, const char *string, const char **result)
79
- {
80
- if (node != &jsS_sentinel) {
81
- int c = strcmp(string, node->string);
82
- if (c < 0)
83
- node->left = jsS_insert(J, node->left, string, result);
84
- else if (c > 0)
85
- node->right = jsS_insert(J, node->right, string, result);
86
- else
87
- return *result = node->string, node;
88
- node = jsS_skew(node);
89
- node = jsS_split(node);
90
- return node;
91
- }
92
- return jsS_newstringnode(J, string, result);
93
- }
94
-
95
- static void dumpstringnode(js_StringNode *node, int level)
96
- {
97
- int i;
98
- if (node->left != &jsS_sentinel)
99
- dumpstringnode(node->left, level + 1);
100
- printf("%d: ", node->level);
101
- for (i = 0; i < level; ++i)
102
- putchar('\t');
103
- printf("'%s'\n", node->string);
104
- if (node->right != &jsS_sentinel)
105
- dumpstringnode(node->right, level + 1);
106
- }
107
-
108
- void jsS_dumpstrings(js_State *J)
109
- {
110
- js_StringNode *root = J->strings;
111
- printf("interned strings {\n");
112
- if (root && root != &jsS_sentinel)
113
- dumpstringnode(root, 1);
114
- printf("}\n");
115
- }
116
-
117
- static void jsS_freestringnode(js_State *J, js_StringNode *node)
118
- {
119
- if (node->left != &jsS_sentinel) jsS_freestringnode(J, node->left);
120
- if (node->right != &jsS_sentinel) jsS_freestringnode(J, node->right);
121
- js_free(J, node);
122
- }
123
-
124
- void jsS_freestrings(js_State *J)
125
- {
126
- if (J->strings && J->strings != &jsS_sentinel)
127
- jsS_freestringnode(J, J->strings);
128
- }
129
-
130
- const char *js_intern(js_State *J, const char *s)
131
- {
132
- const char *result;
133
- if (!J->strings)
134
- J->strings = &jsS_sentinel;
135
- J->strings = jsS_insert(J, J->strings, s, &result);
136
- return result;
137
- }