@forgecharts/sdk 1.1.23
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.
- package/package.json +50 -0
- package/src/__tests__/backwardCompatibility.test.ts +191 -0
- package/src/__tests__/candleInvariant.test.ts +500 -0
- package/src/__tests__/public-api-surface.ts +76 -0
- package/src/__tests__/timeframeBoundary.test.ts +583 -0
- package/src/api/DrawingManager.ts +188 -0
- package/src/api/EventBus.ts +53 -0
- package/src/api/IndicatorDAG.ts +389 -0
- package/src/api/IndicatorRegistry.ts +47 -0
- package/src/api/LayoutManager.ts +72 -0
- package/src/api/PaneManager.ts +129 -0
- package/src/api/ReferenceAPI.ts +195 -0
- package/src/api/TChart.ts +881 -0
- package/src/api/createChart.ts +43 -0
- package/src/api/drawing tools/fib gann menu/fibRetracement.ts +27 -0
- package/src/api/drawing tools/lines menu/crossLine.ts +21 -0
- package/src/api/drawing tools/lines menu/disjointChannel.ts +74 -0
- package/src/api/drawing tools/lines menu/extendedLine.ts +22 -0
- package/src/api/drawing tools/lines menu/flatTopBottom.ts +45 -0
- package/src/api/drawing tools/lines menu/horizontal.ts +24 -0
- package/src/api/drawing tools/lines menu/horizontalRay.ts +25 -0
- package/src/api/drawing tools/lines menu/infoLine.ts +127 -0
- package/src/api/drawing tools/lines menu/insidePitchfork.ts +21 -0
- package/src/api/drawing tools/lines menu/modifiedSchiffPitchfork.ts +18 -0
- package/src/api/drawing tools/lines menu/parallelChannel.ts +47 -0
- package/src/api/drawing tools/lines menu/pitchfork.ts +15 -0
- package/src/api/drawing tools/lines menu/ray.ts +28 -0
- package/src/api/drawing tools/lines menu/regressionTrend.ts +157 -0
- package/src/api/drawing tools/lines menu/schiffPitchfork.ts +18 -0
- package/src/api/drawing tools/lines menu/trendAngle.ts +64 -0
- package/src/api/drawing tools/lines menu/trendline.ts +16 -0
- package/src/api/drawing tools/lines menu/vertical.ts +16 -0
- package/src/api/drawing tools/pointers menu/crosshair.ts +17 -0
- package/src/api/drawing tools/pointers menu/cursor.ts +16 -0
- package/src/api/drawing tools/pointers menu/demonstration.ts +35 -0
- package/src/api/drawing tools/pointers menu/dot.ts +26 -0
- package/src/api/drawing tools/shapes menu/rectangle.ts +24 -0
- package/src/api/drawing tools/shapes menu/text.ts +30 -0
- package/src/api/drawingUtils.ts +82 -0
- package/src/core/CanvasLayer.ts +77 -0
- package/src/core/Chart.ts +917 -0
- package/src/core/CoordTransform.ts +282 -0
- package/src/core/Crosshair.ts +207 -0
- package/src/core/IndicatorEngine.ts +216 -0
- package/src/core/InteractionManager.ts +899 -0
- package/src/core/PriceScale.ts +133 -0
- package/src/core/Series.ts +132 -0
- package/src/core/TimeScale.ts +175 -0
- package/src/datafeed/DatafeedConnector.ts +300 -0
- package/src/engine/CandleEngine.ts +458 -0
- package/src/engine/__tests__/CandleEngine.test.ts +402 -0
- package/src/engine/candleInvariants.ts +172 -0
- package/src/engine/mergeUtils.ts +93 -0
- package/src/engine/timeframeUtils.ts +118 -0
- package/src/index.ts +190 -0
- package/src/internal.ts +41 -0
- package/src/licensing/ChartRuntimeResolver.ts +380 -0
- package/src/licensing/LicenseManager.ts +131 -0
- package/src/licensing/__tests__/ChartRuntimeResolver.test.ts +207 -0
- package/src/licensing/__tests__/LicenseManager.test.ts +180 -0
- package/src/licensing/licenseTypes.ts +19 -0
- package/src/pine/PineCompiler.ts +68 -0
- package/src/pine/diagnostics.ts +30 -0
- package/src/pine/index.ts +7 -0
- package/src/pine/pine-ast.ts +163 -0
- package/src/pine/pine-lexer.ts +265 -0
- package/src/pine/pine-parser.ts +439 -0
- package/src/pine/pine-transpiler.ts +301 -0
- package/src/pixi/LayerName.ts +35 -0
- package/src/pixi/PixiCandlestickRenderer.ts +125 -0
- package/src/pixi/PixiChart.ts +425 -0
- package/src/pixi/PixiCrosshairRenderer.ts +134 -0
- package/src/pixi/PixiDrawingRenderer.ts +121 -0
- package/src/pixi/PixiGridRenderer.ts +136 -0
- package/src/pixi/PixiLayerManager.ts +102 -0
- package/src/renderers/CandlestickRenderer.ts +130 -0
- package/src/renderers/HistogramRenderer.ts +63 -0
- package/src/renderers/LineRenderer.ts +77 -0
- package/src/theme/colors.ts +21 -0
- package/src/tools/barDivergenceCheck.ts +305 -0
- package/src/trading/TradingOverlayStore.ts +161 -0
- package/src/trading/UnmanagedIngestion.ts +156 -0
- package/src/trading/__tests__/ManagedTradingController.test.ts +338 -0
- package/src/trading/__tests__/TradingOverlayStore.test.ts +323 -0
- package/src/trading/__tests__/UnmanagedIngestion.test.ts +205 -0
- package/src/trading/managed/ManagedTradingController.ts +292 -0
- package/src/trading/managed/managedCapabilities.ts +98 -0
- package/src/trading/managed/managedTypes.ts +151 -0
- package/src/trading/tradingTypes.ts +135 -0
- package/src/tscript/TScriptIndicator.ts +54 -0
- package/src/tscript/ast.ts +105 -0
- package/src/tscript/lexer.ts +190 -0
- package/src/tscript/parser.ts +334 -0
- package/src/tscript/runtime.ts +525 -0
- package/src/tscript/series.ts +84 -0
- package/src/types/IChart.ts +56 -0
- package/src/types/IRenderer.ts +16 -0
- package/src/types/ISeries.ts +30 -0
- package/tsconfig.json +22 -0
- package/tsup.config.ts +15 -0
- package/vitest.config.ts +25 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { OHLCV, SeriesOptions } from '@forgecharts/types';
|
|
2
|
+
|
|
3
|
+
export interface ISeries {
|
|
4
|
+
/**
|
|
5
|
+
* Replaces the entire dataset. Data need not be pre-sorted.
|
|
6
|
+
*/
|
|
7
|
+
setData(data: readonly OHLCV[]): void;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Appends or updates the last bar.
|
|
11
|
+
* If bar.time === last bar's time, the bar is updated (real-time tick).
|
|
12
|
+
* Otherwise, the bar is appended.
|
|
13
|
+
*/
|
|
14
|
+
update(bar: OHLCV): void;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Returns the current dataset (sorted ascending by time).
|
|
18
|
+
*/
|
|
19
|
+
data(): readonly OHLCV[];
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Merges partial options into the series configuration.
|
|
23
|
+
*/
|
|
24
|
+
applyOptions(options: Partial<SeriesOptions>): void;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Returns the current fully-resolved series options.
|
|
28
|
+
*/
|
|
29
|
+
options(): SeriesOptions;
|
|
30
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"outDir": "./dist",
|
|
5
|
+
"rootDir": "./src",
|
|
6
|
+
"composite": true,
|
|
7
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
8
|
+
"baseUrl": ".",
|
|
9
|
+
"paths": {
|
|
10
|
+
"@forgecharts/shared": ["../shared/src/index.ts"],
|
|
11
|
+
"@forgecharts/shared/time": ["../shared/src/time/index.ts"],
|
|
12
|
+
"@forgecharts/types": ["../types/src/index.ts"],
|
|
13
|
+
"@forgecharts/utils": ["../utils/src/index.ts"]
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"references": [
|
|
17
|
+
{ "path": "../shared" },
|
|
18
|
+
{ "path": "../types" },
|
|
19
|
+
{ "path": "../utils" }
|
|
20
|
+
],
|
|
21
|
+
"include": ["src/**/*.ts"]
|
|
22
|
+
}
|
package/tsup.config.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { defineConfig } from 'tsup';
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
entry: ['src/index.ts', 'src/internal.ts'],
|
|
5
|
+
format: ['esm'],
|
|
6
|
+
dts: false,
|
|
7
|
+
sourcemap: true,
|
|
8
|
+
clean: true,
|
|
9
|
+
splitting: false,
|
|
10
|
+
treeshake: true,
|
|
11
|
+
// Force .js extension so package.json exports map ("./dist/index.js") resolves correctly
|
|
12
|
+
outExtension: () => ({ js: '.js' }),
|
|
13
|
+
// No bundling of @forgecharts/* siblings — consumers share the same workspace
|
|
14
|
+
external: ['@forgecharts/types', '@forgecharts/utils'],
|
|
15
|
+
});
|
package/vitest.config.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { defineConfig } from 'vitest/config';
|
|
2
|
+
import { resolve } from 'path';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Vitest configuration for @forgecharts/sdk
|
|
6
|
+
*
|
|
7
|
+
* Provides resolve.alias entries so that the test suite can import workspace
|
|
8
|
+
* packages by their published names (e.g. `import { getBucketStart } from
|
|
9
|
+
* '@forgecharts/shared/time'`) without requiring the packages to be pre-built.
|
|
10
|
+
* This mirrors the path aliases defined in tsconfig.json but is picked up by
|
|
11
|
+
* Vite's transform pipeline rather than the TypeScript compiler.
|
|
12
|
+
*/
|
|
13
|
+
export default defineConfig({
|
|
14
|
+
test: {
|
|
15
|
+
environment: 'node',
|
|
16
|
+
},
|
|
17
|
+
resolve: {
|
|
18
|
+
alias: {
|
|
19
|
+
'@forgecharts/shared/time': resolve(__dirname, '../shared/src/time/index.ts'),
|
|
20
|
+
'@forgecharts/shared': resolve(__dirname, '../shared/src/index.ts'),
|
|
21
|
+
'@forgecharts/types': resolve(__dirname, '../types/src/index.ts'),
|
|
22
|
+
'@forgecharts/utils': resolve(__dirname, '../utils/src/index.ts'),
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
});
|