@lewin671/lsp-client 0.1.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 (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -0
  3. package/lib/common/Feature.d.ts +192 -0
  4. package/lib/common/Feature.js +159 -0
  5. package/lib/common/Feature.js.map +1 -0
  6. package/lib/common/LanguageClient.d.ts +230 -0
  7. package/lib/common/LanguageClient.js +512 -0
  8. package/lib/common/LanguageClient.js.map +1 -0
  9. package/lib/common/features/CompletionFeature.d.ts +23 -0
  10. package/lib/common/features/CompletionFeature.js +101 -0
  11. package/lib/common/features/CompletionFeature.js.map +1 -0
  12. package/lib/common/features/DefinitionFeature.d.ts +23 -0
  13. package/lib/common/features/DefinitionFeature.js +49 -0
  14. package/lib/common/features/DefinitionFeature.js.map +1 -0
  15. package/lib/common/features/DiagnosticFeature.d.ts +15 -0
  16. package/lib/common/features/DiagnosticFeature.js +39 -0
  17. package/lib/common/features/DiagnosticFeature.js.map +1 -0
  18. package/lib/common/features/DocumentSymbolFeature.d.ts +23 -0
  19. package/lib/common/features/DocumentSymbolFeature.js +87 -0
  20. package/lib/common/features/DocumentSymbolFeature.js.map +1 -0
  21. package/lib/common/features/FormattingFeature.d.ts +32 -0
  22. package/lib/common/features/FormattingFeature.js +72 -0
  23. package/lib/common/features/FormattingFeature.js.map +1 -0
  24. package/lib/common/features/HoverFeature.d.ts +23 -0
  25. package/lib/common/features/HoverFeature.js +49 -0
  26. package/lib/common/features/HoverFeature.js.map +1 -0
  27. package/lib/common/features/ReferencesFeature.d.ts +23 -0
  28. package/lib/common/features/ReferencesFeature.js +48 -0
  29. package/lib/common/features/ReferencesFeature.js.map +1 -0
  30. package/lib/common/features/RenameFeature.d.ts +37 -0
  31. package/lib/common/features/RenameFeature.js +72 -0
  32. package/lib/common/features/RenameFeature.js.map +1 -0
  33. package/lib/common/features/index.d.ts +8 -0
  34. package/lib/common/features/index.js +21 -0
  35. package/lib/common/features/index.js.map +1 -0
  36. package/lib/common/utils/index.d.ts +2 -0
  37. package/lib/common/utils/index.js +19 -0
  38. package/lib/common/utils/index.js.map +1 -0
  39. package/lib/common/utils/is.d.ts +15 -0
  40. package/lib/common/utils/is.js +56 -0
  41. package/lib/common/utils/is.js.map +1 -0
  42. package/lib/common/utils/uuid.d.ts +17 -0
  43. package/lib/common/utils/uuid.js +87 -0
  44. package/lib/common/utils/uuid.js.map +1 -0
  45. package/lib/demo/custom-lsp/client.d.ts +1 -0
  46. package/lib/demo/custom-lsp/client.js +86 -0
  47. package/lib/demo/custom-lsp/client.js.map +1 -0
  48. package/lib/demo/custom-lsp/server.d.ts +1 -0
  49. package/lib/demo/custom-lsp/server.js +64 -0
  50. package/lib/demo/custom-lsp/server.js.map +1 -0
  51. package/lib/demo/go-demo/client.d.ts +14 -0
  52. package/lib/demo/go-demo/client.js +697 -0
  53. package/lib/demo/go-demo/client.js.map +1 -0
  54. package/lib/demo/typescript-demo/client.d.ts +14 -0
  55. package/lib/demo/typescript-demo/client.js +680 -0
  56. package/lib/demo/typescript-demo/client.js.map +1 -0
  57. package/lib/demo/typescript-demo/sample-project/src/index.d.ts +9 -0
  58. package/lib/demo/typescript-demo/sample-project/src/index.js +65 -0
  59. package/lib/demo/typescript-demo/sample-project/src/index.js.map +1 -0
  60. package/lib/demo/typescript-demo/sample-project/src/math.d.ts +38 -0
  61. package/lib/demo/typescript-demo/sample-project/src/math.js +63 -0
  62. package/lib/demo/typescript-demo/sample-project/src/math.js.map +1 -0
  63. package/lib/demo/typescript-demo/sample-project/src/models/person.d.ts +41 -0
  64. package/lib/demo/typescript-demo/sample-project/src/models/person.js +53 -0
  65. package/lib/demo/typescript-demo/sample-project/src/models/person.js.map +1 -0
  66. package/lib/demo/typescript-demo/sample-project/src/services/calculator.d.ts +39 -0
  67. package/lib/demo/typescript-demo/sample-project/src/services/calculator.js +69 -0
  68. package/lib/demo/typescript-demo/sample-project/src/services/calculator.js.map +1 -0
  69. package/lib/demo/typescript-demo/sample-project/src/services/user-service.d.ts +40 -0
  70. package/lib/demo/typescript-demo/sample-project/src/services/user-service.js +88 -0
  71. package/lib/demo/typescript-demo/sample-project/src/services/user-service.js.map +1 -0
  72. package/lib/index.d.ts +8 -0
  73. package/lib/index.js +32 -0
  74. package/lib/index.js.map +1 -0
  75. package/lib/interfaces/IHost.d.ts +19 -0
  76. package/lib/interfaces/IHost.js +3 -0
  77. package/lib/interfaces/IHost.js.map +1 -0
  78. package/lib/transports/ITransport.d.ts +8 -0
  79. package/lib/transports/ITransport.js +3 -0
  80. package/lib/transports/ITransport.js.map +1 -0
  81. package/lib/transports/StdioTransport.d.ts +13 -0
  82. package/lib/transports/StdioTransport.js +27 -0
  83. package/lib/transports/StdioTransport.js.map +1 -0
  84. package/package.json +48 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/demo/typescript-demo/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Main entry point for the sample TypeScript project
3
+ */
4
+ import { add, subtract, multiply, divide, average } from './math';
5
+ import { Person } from './models/person';
6
+ import { Calculator } from './services/calculator';
7
+ import { UserService } from './services/user-service';
8
+ export { add, subtract, multiply, divide, average };
9
+ export { Person, Calculator, UserService };
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserService = exports.Calculator = exports.Person = exports.average = exports.divide = exports.multiply = exports.subtract = exports.add = void 0;
4
+ /**
5
+ * Main entry point for the sample TypeScript project
6
+ */
7
+ const math_1 = require("./math");
8
+ Object.defineProperty(exports, "add", { enumerable: true, get: function () { return math_1.add; } });
9
+ Object.defineProperty(exports, "subtract", { enumerable: true, get: function () { return math_1.subtract; } });
10
+ Object.defineProperty(exports, "multiply", { enumerable: true, get: function () { return math_1.multiply; } });
11
+ Object.defineProperty(exports, "divide", { enumerable: true, get: function () { return math_1.divide; } });
12
+ Object.defineProperty(exports, "average", { enumerable: true, get: function () { return math_1.average; } });
13
+ const person_1 = require("./models/person");
14
+ Object.defineProperty(exports, "Person", { enumerable: true, get: function () { return person_1.Person; } });
15
+ const calculator_1 = require("./services/calculator");
16
+ Object.defineProperty(exports, "Calculator", { enumerable: true, get: function () { return calculator_1.Calculator; } });
17
+ const user_service_1 = require("./services/user-service");
18
+ Object.defineProperty(exports, "UserService", { enumerable: true, get: function () { return user_service_1.UserService; } });
19
+ // Demo: Math functions
20
+ console.log('=== Math Functions Demo ===');
21
+ console.log(`add(5, 3) = ${(0, math_1.add)(5, 3)}`);
22
+ console.log(`subtract(10, 4) = ${(0, math_1.subtract)(10, 4)}`);
23
+ console.log(`multiply(6, 7) = ${(0, math_1.multiply)(6, 7)}`);
24
+ console.log(`divide(20, 5) = ${(0, math_1.divide)(20, 5)}`);
25
+ console.log(`average([1, 2, 3, 4, 5]) = ${(0, math_1.average)([1, 2, 3, 4, 5])}`);
26
+ // Demo: Person class
27
+ console.log('\n=== Person Class Demo ===');
28
+ const person = new person_1.Person({
29
+ id: 1,
30
+ firstName: 'John',
31
+ lastName: 'Doe',
32
+ email: 'john.doe@example.com',
33
+ age: 30
34
+ });
35
+ console.log(`Full name: ${person.getFullName()}`);
36
+ console.log(`Is adult: ${person.isAdult()}`);
37
+ console.log(`Greeting: ${person.greet()}`);
38
+ // Demo: Calculator service
39
+ console.log('\n=== Calculator Service Demo ===');
40
+ const calculator = new calculator_1.Calculator();
41
+ console.log('Adding 10 + 5:', calculator.calculate('add', 10, 5).result);
42
+ console.log('Multiplying 4 * 7:', calculator.calculate('multiply', 4, 7).result);
43
+ console.log('History count:', calculator.getHistory().length);
44
+ console.log('Average of results:', calculator.getAverageResult());
45
+ // Demo: User service
46
+ console.log('\n=== User Service Demo ===');
47
+ const userService = new user_service_1.UserService();
48
+ const user1 = userService.createUser({
49
+ firstName: 'Alice',
50
+ lastName: 'Smith',
51
+ email: 'alice@example.com',
52
+ age: 25
53
+ });
54
+ const user2 = userService.createUser({
55
+ firstName: 'Bob',
56
+ lastName: 'Johnson',
57
+ age: 17
58
+ });
59
+ console.log(`Created users: ${userService.getUserCount()}`);
60
+ console.log(`Adult users: ${userService.getAdultUsers().length}`);
61
+ console.log(`User 1 greeting: ${user1.greet()}`);
62
+ // Find users by name
63
+ const foundUsers = userService.findUsersByName('alice');
64
+ console.log(`Found users with 'alice': ${foundUsers.length}`);
65
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/demo/typescript-demo/sample-project/src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * A simple math utility module
3
+ */
4
+ /**
5
+ * Adds two numbers together
6
+ * @param a First number
7
+ * @param b Second number
8
+ * @returns The sum of a and b
9
+ */
10
+ export declare function add(a: number, b: number): number;
11
+ /**
12
+ * Subtracts b from a
13
+ * @param a First number
14
+ * @param b Second number
15
+ * @returns The difference a - b
16
+ */
17
+ export declare function subtract(a: number, b: number): number;
18
+ /**
19
+ * Multiplies two numbers
20
+ * @param a First number
21
+ * @param b Second number
22
+ * @returns The product of a and b
23
+ */
24
+ export declare function multiply(a: number, b: number): number;
25
+ /**
26
+ * Divides a by b
27
+ * @param a Dividend
28
+ * @param b Divisor
29
+ * @returns The quotient a / b
30
+ * @throws Error if b is zero
31
+ */
32
+ export declare function divide(a: number, b: number): number;
33
+ /**
34
+ * Calculates the average of an array of numbers
35
+ * @param numbers Array of numbers
36
+ * @returns The average value
37
+ */
38
+ export declare function average(numbers: number[]): number;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /**
3
+ * A simple math utility module
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.add = add;
7
+ exports.subtract = subtract;
8
+ exports.multiply = multiply;
9
+ exports.divide = divide;
10
+ exports.average = average;
11
+ /**
12
+ * Adds two numbers together
13
+ * @param a First number
14
+ * @param b Second number
15
+ * @returns The sum of a and b
16
+ */
17
+ function add(a, b) {
18
+ return a + b;
19
+ }
20
+ /**
21
+ * Subtracts b from a
22
+ * @param a First number
23
+ * @param b Second number
24
+ * @returns The difference a - b
25
+ */
26
+ function subtract(a, b) {
27
+ return a - b;
28
+ }
29
+ /**
30
+ * Multiplies two numbers
31
+ * @param a First number
32
+ * @param b Second number
33
+ * @returns The product of a and b
34
+ */
35
+ function multiply(a, b) {
36
+ return a * b;
37
+ }
38
+ /**
39
+ * Divides a by b
40
+ * @param a Dividend
41
+ * @param b Divisor
42
+ * @returns The quotient a / b
43
+ * @throws Error if b is zero
44
+ */
45
+ function divide(a, b) {
46
+ if (b === 0) {
47
+ throw new Error('Cannot divide by zero');
48
+ }
49
+ return a / b;
50
+ }
51
+ /**
52
+ * Calculates the average of an array of numbers
53
+ * @param numbers Array of numbers
54
+ * @returns The average value
55
+ */
56
+ function average(numbers) {
57
+ if (numbers.length === 0) {
58
+ return 0;
59
+ }
60
+ const sum = numbers.reduce((acc, val) => add(acc, val), 0);
61
+ return divide(sum, numbers.length);
62
+ }
63
+ //# sourceMappingURL=math.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../../../src/demo/typescript-demo/sample-project/src/math.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAQH,kBAEC;AAQD,4BAEC;AAQD,4BAEC;AASD,wBAKC;AAOD,0BAMC;AAvDD;;;;;GAKG;AACH,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACpC,OAAO,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,CAAS,EAAE,CAAS;IACzC,OAAO,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,CAAS,EAAE,CAAS;IACzC,OAAO,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,MAAM,CAAC,CAAS,EAAE,CAAS;IACvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAgB,OAAO,CAAC,OAAiB;IACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC;IACb,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Represents a person with basic information
3
+ */
4
+ export interface IPerson {
5
+ id: number;
6
+ firstName: string;
7
+ lastName: string;
8
+ email?: string;
9
+ age?: number;
10
+ }
11
+ /**
12
+ * Person class implementing the IPerson interface
13
+ */
14
+ export declare class Person implements IPerson {
15
+ id: number;
16
+ firstName: string;
17
+ lastName: string;
18
+ email?: string;
19
+ age?: number;
20
+ constructor(data: IPerson);
21
+ /**
22
+ * Get the full name of the person
23
+ */
24
+ getFullName(): string;
25
+ /**
26
+ * Check if the person is an adult (age >= 18)
27
+ */
28
+ isAdult(): boolean;
29
+ /**
30
+ * Create a greeting message
31
+ */
32
+ greet(): string;
33
+ /**
34
+ * Convert to JSON-friendly object
35
+ */
36
+ toJSON(): IPerson;
37
+ /**
38
+ * Create a Person from a JSON object
39
+ */
40
+ static fromJSON(json: IPerson): Person;
41
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Person = void 0;
4
+ /**
5
+ * Person class implementing the IPerson interface
6
+ */
7
+ class Person {
8
+ constructor(data) {
9
+ this.id = data.id;
10
+ this.firstName = data.firstName;
11
+ this.lastName = data.lastName;
12
+ this.email = data.email;
13
+ this.age = data.age;
14
+ }
15
+ /**
16
+ * Get the full name of the person
17
+ */
18
+ getFullName() {
19
+ return `${this.firstName} ${this.lastName}`;
20
+ }
21
+ /**
22
+ * Check if the person is an adult (age >= 18)
23
+ */
24
+ isAdult() {
25
+ return this.age !== undefined && this.age >= 18;
26
+ }
27
+ /**
28
+ * Create a greeting message
29
+ */
30
+ greet() {
31
+ return `Hello, my name is ${this.getFullName()}`;
32
+ }
33
+ /**
34
+ * Convert to JSON-friendly object
35
+ */
36
+ toJSON() {
37
+ return {
38
+ id: this.id,
39
+ firstName: this.firstName,
40
+ lastName: this.lastName,
41
+ email: this.email,
42
+ age: this.age
43
+ };
44
+ }
45
+ /**
46
+ * Create a Person from a JSON object
47
+ */
48
+ static fromJSON(json) {
49
+ return new Person(json);
50
+ }
51
+ }
52
+ exports.Person = Person;
53
+ //# sourceMappingURL=person.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person.js","sourceRoot":"","sources":["../../../../../../src/demo/typescript-demo/sample-project/src/models/person.ts"],"names":[],"mappings":";;;AAWA;;GAEG;AACH,MAAa,MAAM;IAOf,YAAY,IAAa;QACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,WAAW;QACP,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,OAAO;QACH,OAAO,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK;QACD,OAAO,qBAAqB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,MAAM;QACF,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;SAChB,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAa;QACzB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACJ;AAvDD,wBAuDC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Calculator operation types
3
+ */
4
+ export type Operation = 'add' | 'subtract' | 'multiply' | 'divide';
5
+ /**
6
+ * Result of a calculation
7
+ */
8
+ export interface CalculationResult {
9
+ operation: Operation;
10
+ operands: number[];
11
+ result: number;
12
+ timestamp: Date;
13
+ }
14
+ /**
15
+ * Calculator service with history tracking
16
+ */
17
+ export declare class Calculator {
18
+ private history;
19
+ /**
20
+ * Perform a calculation
21
+ */
22
+ calculate(operation: Operation, a: number, b: number): CalculationResult;
23
+ /**
24
+ * Calculate the average of all results in history
25
+ */
26
+ getAverageResult(): number;
27
+ /**
28
+ * Get calculation history
29
+ */
30
+ getHistory(): CalculationResult[];
31
+ /**
32
+ * Clear history
33
+ */
34
+ clearHistory(): void;
35
+ /**
36
+ * Get the last calculation result
37
+ */
38
+ getLastResult(): CalculationResult | undefined;
39
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Calculator = void 0;
4
+ const math_1 = require("../math");
5
+ /**
6
+ * Calculator service with history tracking
7
+ */
8
+ class Calculator {
9
+ constructor() {
10
+ this.history = [];
11
+ }
12
+ /**
13
+ * Perform a calculation
14
+ */
15
+ calculate(operation, a, b) {
16
+ let result;
17
+ switch (operation) {
18
+ case 'add':
19
+ result = (0, math_1.add)(a, b);
20
+ break;
21
+ case 'subtract':
22
+ result = (0, math_1.subtract)(a, b);
23
+ break;
24
+ case 'multiply':
25
+ result = (0, math_1.multiply)(a, b);
26
+ break;
27
+ case 'divide':
28
+ result = (0, math_1.divide)(a, b);
29
+ break;
30
+ default:
31
+ throw new Error(`Unknown operation: ${operation}`);
32
+ }
33
+ const calculationResult = {
34
+ operation,
35
+ operands: [a, b],
36
+ result,
37
+ timestamp: new Date()
38
+ };
39
+ this.history.push(calculationResult);
40
+ return calculationResult;
41
+ }
42
+ /**
43
+ * Calculate the average of all results in history
44
+ */
45
+ getAverageResult() {
46
+ const results = this.history.map(h => h.result);
47
+ return (0, math_1.average)(results);
48
+ }
49
+ /**
50
+ * Get calculation history
51
+ */
52
+ getHistory() {
53
+ return [...this.history];
54
+ }
55
+ /**
56
+ * Clear history
57
+ */
58
+ clearHistory() {
59
+ this.history = [];
60
+ }
61
+ /**
62
+ * Get the last calculation result
63
+ */
64
+ getLastResult() {
65
+ return this.history[this.history.length - 1];
66
+ }
67
+ }
68
+ exports.Calculator = Calculator;
69
+ //# sourceMappingURL=calculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../../../../../src/demo/typescript-demo/sample-project/src/services/calculator.ts"],"names":[],"mappings":";;;AAAA,kCAAmE;AAiBnE;;GAEG;AACH,MAAa,UAAU;IAAvB;QACY,YAAO,GAAwB,EAAE,CAAC;IAgE9C,CAAC;IA9DG;;OAEG;IACH,SAAS,CAAC,SAAoB,EAAE,CAAS,EAAE,CAAS;QAChD,IAAI,MAAc,CAAC;QAEnB,QAAQ,SAAS,EAAE,CAAC;YAChB,KAAK,KAAK;gBACN,MAAM,GAAG,IAAA,UAAG,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnB,MAAM;YACV,KAAK,UAAU;gBACX,MAAM,GAAG,IAAA,eAAQ,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxB,MAAM;YACV,KAAK,UAAU;gBACX,MAAM,GAAG,IAAA,eAAQ,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxB,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,GAAG,IAAA,aAAM,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,iBAAiB,GAAsB;YACzC,SAAS;YACT,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrC,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,YAAY;QACR,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;CACJ;AAjED,gCAiEC"}
@@ -0,0 +1,40 @@
1
+ import { Person, IPerson } from '../models/person';
2
+ /**
3
+ * User service for managing person records
4
+ */
5
+ export declare class UserService {
6
+ private users;
7
+ private nextId;
8
+ /**
9
+ * Create a new user
10
+ */
11
+ createUser(data: Omit<IPerson, 'id'>): Person;
12
+ /**
13
+ * Get a user by ID
14
+ */
15
+ getUserById(id: number): Person | undefined;
16
+ /**
17
+ * Get all users
18
+ */
19
+ getAllUsers(): Person[];
20
+ /**
21
+ * Update a user
22
+ */
23
+ updateUser(id: number, updates: Partial<Omit<IPerson, 'id'>>): Person | undefined;
24
+ /**
25
+ * Delete a user
26
+ */
27
+ deleteUser(id: number): boolean;
28
+ /**
29
+ * Find users by name
30
+ */
31
+ findUsersByName(name: string): Person[];
32
+ /**
33
+ * Get adult users only
34
+ */
35
+ getAdultUsers(): Person[];
36
+ /**
37
+ * Get user count
38
+ */
39
+ getUserCount(): number;
40
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserService = void 0;
4
+ const person_1 = require("../models/person");
5
+ /**
6
+ * User service for managing person records
7
+ */
8
+ class UserService {
9
+ constructor() {
10
+ this.users = new Map();
11
+ this.nextId = 1;
12
+ }
13
+ /**
14
+ * Create a new user
15
+ */
16
+ createUser(data) {
17
+ const user = new person_1.Person({
18
+ ...data,
19
+ id: this.nextId++
20
+ });
21
+ this.users.set(user.id, user);
22
+ return user;
23
+ }
24
+ /**
25
+ * Get a user by ID
26
+ */
27
+ getUserById(id) {
28
+ return this.users.get(id);
29
+ }
30
+ /**
31
+ * Get all users
32
+ */
33
+ getAllUsers() {
34
+ return Array.from(this.users.values());
35
+ }
36
+ /**
37
+ * Update a user
38
+ */
39
+ updateUser(id, updates) {
40
+ const user = this.users.get(id);
41
+ if (!user) {
42
+ return undefined;
43
+ }
44
+ if (updates.firstName !== undefined) {
45
+ user.firstName = updates.firstName;
46
+ }
47
+ if (updates.lastName !== undefined) {
48
+ user.lastName = updates.lastName;
49
+ }
50
+ if (updates.email !== undefined) {
51
+ user.email = updates.email;
52
+ }
53
+ if (updates.age !== undefined) {
54
+ user.age = updates.age;
55
+ }
56
+ return user;
57
+ }
58
+ /**
59
+ * Delete a user
60
+ */
61
+ deleteUser(id) {
62
+ return this.users.delete(id);
63
+ }
64
+ /**
65
+ * Find users by name
66
+ */
67
+ findUsersByName(name) {
68
+ const lowerName = name.toLowerCase();
69
+ return this.getAllUsers().filter(user => {
70
+ const fullName = user.getFullName().toLowerCase();
71
+ return fullName.includes(lowerName);
72
+ });
73
+ }
74
+ /**
75
+ * Get adult users only
76
+ */
77
+ getAdultUsers() {
78
+ return this.getAllUsers().filter(user => user.isAdult());
79
+ }
80
+ /**
81
+ * Get user count
82
+ */
83
+ getUserCount() {
84
+ return this.users.size;
85
+ }
86
+ }
87
+ exports.UserService = UserService;
88
+ //# sourceMappingURL=user-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-service.js","sourceRoot":"","sources":["../../../../../../src/demo/typescript-demo/sample-project/src/services/user-service.ts"],"names":[],"mappings":";;;AAAA,6CAAmD;AAEnD;;GAEG;AACH,MAAa,WAAW;IAAxB;QACY,UAAK,GAAwB,IAAI,GAAG,EAAE,CAAC;QACvC,WAAM,GAAW,CAAC,CAAC;IAoF/B,CAAC;IAlFG;;OAEG;IACH,UAAU,CAAC,IAAyB;QAChC,MAAM,IAAI,GAAG,IAAI,eAAM,CAAC;YACpB,GAAG,IAAI;YACP,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,WAAW;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,EAAU,EAAE,OAAqC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACvC,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACrC,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/B,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,EAAU;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAY;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;YAClD,OAAO,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;CACJ;AAtFD,kCAsFC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export * from './common/LanguageClient';
2
+ export * from './common/Feature';
3
+ export * from './common/features/index';
4
+ export * as Is from './common/utils/is';
5
+ export * as UUID from './common/utils/uuid';
6
+ export * from './interfaces/IHost';
7
+ export * from './transports/ITransport';
8
+ export * from './transports/StdioTransport';
package/lib/index.js ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.UUID = exports.Is = void 0;
18
+ // Core client
19
+ __exportStar(require("./common/LanguageClient"), exports);
20
+ // Feature system
21
+ __exportStar(require("./common/Feature"), exports);
22
+ // All features
23
+ __exportStar(require("./common/features/index"), exports);
24
+ // Utils
25
+ exports.Is = require("./common/utils/is");
26
+ exports.UUID = require("./common/utils/uuid");
27
+ // Host interfaces
28
+ __exportStar(require("./interfaces/IHost"), exports);
29
+ // Transports
30
+ __exportStar(require("./transports/ITransport"), exports);
31
+ __exportStar(require("./transports/StdioTransport"), exports);
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,0DAAwC;AAExC,iBAAiB;AACjB,mDAAiC;AAEjC,eAAe;AACf,0DAAwC;AAExC,QAAQ;AACR,0CAAwC;AACxC,8CAA4C;AAE5C,kBAAkB;AAClB,qDAAmC;AAEnC,aAAa;AACb,0DAAwC;AACxC,8DAA4C"}
@@ -0,0 +1,19 @@
1
+ import { MessageType, MessageActionItem, Diagnostic } from 'vscode-languageserver-protocol';
2
+ export interface IWindow {
3
+ showMessage(type: MessageType, message: string): void;
4
+ showMessageRequest?(type: MessageType, message: string, actions?: MessageActionItem[]): Promise<MessageActionItem | undefined>;
5
+ logMessage(type: MessageType, message: string): void;
6
+ publishDiagnostics?(uri: string, diagnostics: Diagnostic[]): void;
7
+ }
8
+ export interface IWorkspace {
9
+ rootUri: string | null;
10
+ }
11
+ export interface IConfiguration {
12
+ get(section: string): any;
13
+ }
14
+ export interface IHost {
15
+ window: IWindow;
16
+ workspace: IWorkspace;
17
+ configuration: IConfiguration;
18
+ dispose(): void;
19
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHost.js.map