@cluesurf/kink 1.0.8 → 1.2.0

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 (55) hide show
  1. package/code/base/index.ts +223 -0
  2. package/code/index.ts +7 -0
  3. package/code/site/index.ts +92 -0
  4. package/code/site/kink.ts +97 -0
  5. package/code/site/make.ts +17 -0
  6. package/code/site/test.ts +35 -0
  7. package/code/tree/browser.ts +20 -0
  8. package/code/tree/index.ts +1 -0
  9. package/code/tree/make.ts +347 -0
  10. package/code/tree/node.ts +99 -0
  11. package/code/tree/test.ts +51 -0
  12. package/eslint.config.ts +3 -0
  13. package/host/code/base/index.js +138 -0
  14. package/host/code/base/index.js.map +1 -0
  15. package/host/code/index.d.ts +5 -0
  16. package/host/code/index.js +6 -0
  17. package/host/code/index.js.map +1 -0
  18. package/host/code/site/index.d.ts +7 -0
  19. package/host/code/site/index.js +75 -0
  20. package/host/code/site/index.js.map +1 -0
  21. package/host/code/site/kink.d.ts +31 -0
  22. package/host/code/site/kink.js +41 -0
  23. package/host/code/site/kink.js.map +1 -0
  24. package/host/code/site/make.d.ts +1 -0
  25. package/host/code/site/make.js +18 -0
  26. package/host/code/site/make.js.map +1 -0
  27. package/host/code/site/test.d.ts +7 -0
  28. package/host/code/site/test.js +23 -0
  29. package/host/code/site/test.js.map +1 -0
  30. package/host/code/tree/browser.d.ts +6 -0
  31. package/host/code/tree/browser.js +17 -0
  32. package/host/code/tree/browser.js.map +1 -0
  33. package/host/code/tree/index.d.ts +1 -0
  34. package/host/code/tree/index.js +2 -0
  35. package/host/code/tree/index.js.map +1 -0
  36. package/host/code/tree/make.d.ts +30 -0
  37. package/host/code/tree/make.js +271 -0
  38. package/host/code/tree/make.js.map +1 -0
  39. package/host/code/tree/node.d.ts +6 -0
  40. package/host/code/tree/node.js +81 -0
  41. package/host/code/tree/node.js.map +1 -0
  42. package/host/code/tree/test.d.ts +7 -0
  43. package/host/code/tree/test.js +37 -0
  44. package/host/code/tree/test.js.map +1 -0
  45. package/host/test/index.d.ts +2 -0
  46. package/host/test/index.js +11 -0
  47. package/host/test/index.js.map +1 -0
  48. package/host/test/kink.d.ts +11 -0
  49. package/host/test/kink.js +12 -0
  50. package/host/test/kink.js.map +1 -0
  51. package/package.json +21 -10
  52. package/readme.md +6 -0
  53. package/host/index.js +0 -170
  54. package/host/index.js.map +0 -1
  55. /package/host/{index.d.ts → code/base/index.d.ts} +0 -0
@@ -0,0 +1,81 @@
1
+ import smc from '@cspotcode/source-map';
2
+ import Kink from '../../code/base';
3
+ import fs from 'fs';
4
+ import pathResolve from 'path';
5
+ import makeText from './make';
6
+ export * from './make';
7
+ const HOST_LINK_MESH = {};
8
+ function loadHostLink(line) {
9
+ const link = HOST_LINK_MESH[`${line}`];
10
+ if (link) {
11
+ return link;
12
+ }
13
+ const fileLink = line.replace(/^file:\/\//, '');
14
+ if (fs.existsSync(`${fileLink}.map`)) {
15
+ const mapContent = fs.readFileSync(`${fileLink}.map`, 'utf-8');
16
+ const json = JSON.parse(mapContent);
17
+ const sm = new smc.SourceMapConsumer(json);
18
+ HOST_LINK_MESH[`${line}`] = sm;
19
+ return sm;
20
+ }
21
+ }
22
+ function readLinkBase(path) {
23
+ const relative = pathResolve.relative(process.cwd(), path);
24
+ // get pnpm symlink path so it's nicer to see.
25
+ if (relative.match(/^(node_modules\/\.pnpm\/.+\/node_modules)/)) {
26
+ return `node_modules/${relative.slice(RegExp.$1.length)}`;
27
+ }
28
+ return relative;
29
+ }
30
+ function readLink(path, context) {
31
+ return readLinkBase(pathResolve.resolve(context, path));
32
+ }
33
+ function readHostLinkFile(file, line, rise) {
34
+ const link = loadHostLink(file);
35
+ const trace = {
36
+ column: rise,
37
+ filename: file,
38
+ line: line,
39
+ };
40
+ if (link) {
41
+ const token = link.originalPositionFor(trace);
42
+ if (token.source) {
43
+ return [
44
+ readLink(token.source, pathResolve.dirname(file.replace(/^file:\/\//, ''))),
45
+ token.line == null ? undefined : token.line,
46
+ token.column == null ? undefined : token.column,
47
+ ];
48
+ }
49
+ else {
50
+ return [file, line, rise];
51
+ }
52
+ }
53
+ else {
54
+ return [readLinkBase(file), line, rise];
55
+ }
56
+ }
57
+ export function makeBaseKinkText(kink) {
58
+ return makeText({
59
+ code: 'code' in kink && typeof kink.code === 'string'
60
+ ? kink.code
61
+ : '0000',
62
+ hook: readHostLinkFile,
63
+ host: 'node',
64
+ list: kink.stack?.split('\n') ?? [],
65
+ note: kink.message,
66
+ time: Kink.makeTime(Date.now()),
67
+ });
68
+ }
69
+ export function makeKinkText(kink) {
70
+ return makeText({
71
+ code: kink.code,
72
+ hook: readHostLinkFile,
73
+ host: kink.host,
74
+ link: kink.link,
75
+ list: kink.stack?.split('\n') ?? [],
76
+ note: kink.note,
77
+ time: kink.time,
78
+ });
79
+ }
80
+ export { makeText };
81
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../code/tree/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import Kink from '../../code/base';
2
+ type Base = {
3
+ syntax_error: {};
4
+ };
5
+ type Name = keyof Base;
6
+ export default function kink<N extends Name>(form: N, link?: Base[N]): Kink;
7
+ export {};
@@ -0,0 +1,37 @@
1
+ import Kink from '../../code/base';
2
+ import fs from 'fs';
3
+ import { format } from 'date-fns';
4
+ import { makeKinkText, makeBaseKinkText, TIME_FORM } from './make';
5
+ const host = '@cluesurf/kink';
6
+ Kink.base(host, 'syntax_error', () => ({
7
+ code: 1,
8
+ note: 'Syntax error',
9
+ }));
10
+ Kink.code(host, (code) => code.toString(16).padStart(4, '0'));
11
+ Kink.time(time => format(time, TIME_FORM));
12
+ export default function kink(form, link) {
13
+ return Kink.make(host, form, link);
14
+ }
15
+ console.log('');
16
+ console.log('');
17
+ console.log('');
18
+ // https://nodejs.org/api/errors.html
19
+ process.on('uncaughtException', err => {
20
+ if (err instanceof Kink) {
21
+ // Kink.saveFill(err, err.link)
22
+ console.log(makeKinkText(err));
23
+ }
24
+ else {
25
+ console.log(makeBaseKinkText(err));
26
+ console.log('');
27
+ console.log('');
28
+ console.log('');
29
+ }
30
+ });
31
+ setTimeout(() => {
32
+ throw kink('syntax_error');
33
+ });
34
+ setTimeout(() => {
35
+ fs.readFileSync('.');
36
+ });
37
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../code/tree/test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElE,MAAM,IAAI,GAAG,gBAAgB,CAAA;AAQ7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,cAAc;CACrB,CAAC,CAAC,CAAA;AAEH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AAErE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;AAE1C,MAAM,CAAC,OAAO,UAAU,IAAI,CAAiB,IAAO,EAAE,IAAc;IAClE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACpC,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAEf,qCAAqC;AACrC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE;IACpC,IAAI,GAAG,YAAY,IAAI,EAAE;QACvB,+BAA+B;QAC/B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;KAC/B;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;QAElC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;KAChB;AACH,CAAC,CAAC,CAAA;AAEF,UAAU,CAAC,GAAG,EAAE;IACd,MAAM,IAAI,CAAC,cAAc,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEF,UAAU,CAAC,GAAG,EAAE;IACd,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import '../code/tree/test';
2
+ import '../code/site/test';
@@ -0,0 +1,11 @@
1
+ import kink from './kink';
2
+ import '../code/tree/test';
3
+ import '../code/site/test';
4
+ try {
5
+ throw kink('syntax_error', { foo: 'bar' });
6
+ }
7
+ catch (e) {
8
+ console.log(e);
9
+ }
10
+ console.log('done');
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAA;AAEzB,OAAO,kBAAkB,CAAA;AACzB,OAAO,kBAAkB,CAAA;AAEzB,IAAI;IACF,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;CAC3C;AAAC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;CACf;AAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import Kink from '../code/base';
2
+ type Base = {
3
+ syntax_error: {
4
+ take: {
5
+ foo: string;
6
+ };
7
+ };
8
+ };
9
+ type Name = keyof Base;
10
+ export default function kink<N extends Name>(form: N, take?: Base[N]['take']): Kink;
11
+ export {};
@@ -0,0 +1,12 @@
1
+ import Kink from '../code/base';
2
+ const host = '@cluesurf/kink';
3
+ Kink.base(host, 'syntax_error', (take) => ({
4
+ code: 1,
5
+ link: take,
6
+ note: 'Syntax error',
7
+ }));
8
+ Kink.code(host, (code) => code.toString(16).padStart(4, '0'));
9
+ export default function kink(form, take) {
10
+ return Kink.make(host, form, take);
11
+ }
12
+ //# sourceMappingURL=kink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kink.js","sourceRoot":"","sources":["../../test/kink.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAA;AAE9B,MAAM,IAAI,GAAG,gBAAgB,CAAA;AAY7B,IAAI,CAAC,IAAI,CACP,IAAI,EACJ,cAAc,EACd,CAAC,IAAkC,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,cAAc;CACrB,CAAC,CACH,CAAA;AAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AAErE,MAAM,CAAC,OAAO,UAAU,IAAI,CAC1B,IAAO,EACP,IAAsB;IAEtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,19 +1,26 @@
1
1
  {
2
2
  "name": "@cluesurf/kink",
3
- "version": "1.0.8",
4
- "main": "./host/index.js",
3
+ "version": "1.2.0",
4
+ "main": "./host/code/index.js",
5
+ "exports": {
6
+ ".": {
7
+ "types": "./host/code/index.d.ts",
8
+ "default": "./host/code/index.js"
9
+ },
10
+ "./tree": {
11
+ "types": "./host/code/tree/node.d.ts",
12
+ "browser": "./host/code/tree/browser.js",
13
+ "node": "./host/code/tree/node.js",
14
+ "default": "./host/code/tree/node.js"
15
+ }
16
+ },
5
17
  "license": "MIT",
6
- "files": [
7
- "./host/index.js",
8
- "./host/index.js.map",
9
- "./host/index.d.ts"
10
- ],
18
+ "prettier": "@cluesurf/wash/flow.json",
11
19
  "scripts": {
12
20
  "make": "tsc && tsc-alias",
13
21
  "scan": "concurrently --kill-others \"tsc -w\" \"tsc-alias -w\"",
14
- "lint": "eslint --ext .ts ./make",
15
- "lint:fix": "npm run lint -- --fix",
16
- "test": "tsx test.ts",
22
+ "lint": "eslint --ext .ts . --ignore-path .gitignore --fix",
23
+ "test": "tsx test",
17
24
  "host": "pnpm make && npm publish --access=public"
18
25
  },
19
26
  "devDependencies": {
@@ -43,6 +50,10 @@
43
50
  "typescript": "^5.0.4"
44
51
  },
45
52
  "dependencies": {
53
+ "@cluesurf/show": "^1.0.2",
54
+ "@cluesurf/wash": "^0.6.0",
55
+ "@cspotcode/source-map": "^0.8.0",
56
+ "date-fns": "^4.1.0",
46
57
  "ts-custom-error": "^3.3.1"
47
58
  }
48
59
  }
package/readme.md CHANGED
@@ -58,6 +58,12 @@ try {
58
58
  }
59
59
  ```
60
60
 
61
+ ## Tree
62
+
63
+ <p align='center'>
64
+ <img src='https://github.com/cluesurf/kink-tree.js/blob/make/view/kink.png?raw=true' width='520'/>
65
+ </p>
66
+
61
67
  ## License
62
68
 
63
69
  MIT
package/host/index.js DELETED
@@ -1,170 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.KinkList = void 0;
30
- /* eslint-disable @typescript-eslint/no-explicit-any */
31
- var ts_custom_error_1 = require("ts-custom-error");
32
- var base = {};
33
- var load = {};
34
- var fill = {};
35
- var code = {};
36
- var timeHook = function (time) { return String(time); };
37
- var Kink = /** @class */ (function (_super) {
38
- __extends(Kink, _super);
39
- function Kink(_a) {
40
- var siteCode = _a.siteCode, host = _a.host, note = _a.note, form = _a.form, take = _a.take, _b = _a.link, link = _b === void 0 ? {} : _b, code = _a.code, time = _a.time;
41
- var _this = _super.call(this, note) || this;
42
- Object.defineProperty(_this, 'name', {
43
- enumerable: false,
44
- value: '',
45
- writable: true,
46
- });
47
- Object.defineProperty(_this, 'take', {
48
- enumerable: false,
49
- value: take,
50
- writable: true,
51
- });
52
- _this.time = time;
53
- _this.host = host;
54
- _this.form = form;
55
- _this.code = code;
56
- _this.note = note;
57
- _this.link = link;
58
- _this.take = take;
59
- _this.siteCode = siteCode;
60
- return _this;
61
- }
62
- Kink.prototype.toJSON = function () {
63
- return {
64
- code: this.code,
65
- form: this.form,
66
- host: this.host,
67
- link: this.link,
68
- note: this.note,
69
- time: this.time,
70
- };
71
- };
72
- Kink.base = function (host, form, hook) {
73
- base["".concat(host, ":").concat(form)] = hook;
74
- return Kink;
75
- };
76
- Kink.code = function (host, hook) {
77
- code[host] = hook;
78
- return Kink;
79
- };
80
- Kink.load = function (host, form, hook) {
81
- load["".concat(host, ":").concat(form)] = hook;
82
- return Kink;
83
- };
84
- Kink.fill = function (host, form, hook) {
85
- fill["".concat(host, ":").concat(form)] = hook;
86
- return Kink;
87
- };
88
- Kink.time = function (hook) {
89
- timeHook = hook;
90
- return Kink;
91
- };
92
- Kink.makeTime = function (time) {
93
- return timeHook(time);
94
- };
95
- Kink.make = function (host, form, take) {
96
- var time = Kink.makeTime(Date.now());
97
- var hook = base["".concat(host, ":").concat(form)];
98
- if (!hook) {
99
- throw new Error("Missing ".concat(host, ":").concat(form, " in Kink.base"));
100
- }
101
- var hookLink = hook(take);
102
- var kink = new Kink(__assign(__assign({}, hookLink), { code: Kink.makeCode(host, hookLink.code), form: form, host: host, take: take, time: time }));
103
- Kink.saveLoad(kink, take);
104
- return kink;
105
- };
106
- Kink.saveLoad = function (kink, take) {
107
- var hook = load["".concat(kink.host, ":").concat(kink.form)];
108
- if (!hook) {
109
- // throw new Error(`Missing ${kink.host}:${kink.form} in Kink.load`)
110
- return;
111
- }
112
- kink.link = hook(take);
113
- };
114
- Kink.saveFill = function (kink) {
115
- var hook = fill["".concat(kink.host, ":").concat(kink.form)];
116
- if (!hook) {
117
- // throw new Error(`Missing ${kink.host}:${kink.form} in Kink.fill`)
118
- return;
119
- }
120
- kink.link = hook(kink.take, kink.link);
121
- };
122
- Kink.makeCode = function (host, codeLink) {
123
- var hook = code[host];
124
- if (!hook) {
125
- return codeLink.toString();
126
- }
127
- return hook(codeLink);
128
- };
129
- Kink.makeBase = function (kink, _a) {
130
- var _b = _a === void 0 ? {} : _a, siteCode = _b.siteCode, _c = _b.list, list = _c === void 0 ? false : _c;
131
- var time = Kink.makeTime(Date.now());
132
- return new Kink({
133
- code: 'code' in kink
134
- ? typeof kink.code === 'string'
135
- ? kink.code
136
- : typeof kink.code === 'number'
137
- ? Kink.makeCode('system', kink.code)
138
- : '0000'
139
- : '0000',
140
- form: 'system_error',
141
- host: 'system',
142
- // list: stack ? kink.stack?.split('\n') ?? [] : [],
143
- note: kink.message,
144
- siteCode: siteCode,
145
- time: time,
146
- });
147
- };
148
- return Kink;
149
- }(ts_custom_error_1.CustomError));
150
- exports.default = Kink;
151
- // eslint-disable-next-line sort-exports/sort-exports
152
- var KinkList = /** @class */ (function (_super) {
153
- __extends(KinkList, _super);
154
- function KinkList(list) {
155
- var _this = this;
156
- var time = Kink.makeTime(Date.now());
157
- _this = _super.call(this, {
158
- code: Kink.makeCode('@termsurf/kink', 0),
159
- form: 'list',
160
- host: '@termsurf/kink',
161
- note: 'A set of errors occurred.',
162
- time: time,
163
- }) || this;
164
- _this.list = list;
165
- return _this;
166
- }
167
- return KinkList;
168
- }(Kink));
169
- exports.KinkList = KinkList;
170
- //# sourceMappingURL=index.js.map
package/host/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
File without changes