pinets 0.5.0 → 0.7.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 (166) hide show
  1. package/README.md +150 -35
  2. package/dist/pinets.min.browser.es.js +117 -0
  3. package/dist/pinets.min.browser.es.js.map +1 -0
  4. package/dist/pinets.min.browser.js +96 -15
  5. package/dist/pinets.min.browser.js.map +1 -0
  6. package/dist/pinets.min.cjs +96 -14
  7. package/dist/pinets.min.cjs.map +1 -0
  8. package/dist/pinets.min.es.js +99 -4
  9. package/dist/pinets.min.es.js.map +1 -0
  10. package/dist/types/Context.class.d.ts +7 -13
  11. package/dist/types/PineTS.class.d.ts +2 -0
  12. package/dist/types/marketData/Binance/BinanceProvider.class.d.ts +2 -1
  13. package/dist/types/marketData/IProvider.d.ts +43 -0
  14. package/dist/types/marketData/Mock/MockProvider.class.d.ts +13 -1
  15. package/dist/types/namespaces/Barstate.d.ts +13 -0
  16. package/dist/types/namespaces/Core.d.ts +23 -3
  17. package/dist/types/namespaces/Log.d.ts +10 -0
  18. package/dist/types/namespaces/Plot.helper.d.ts +16 -0
  19. package/dist/types/namespaces/Plots.d.ts +16 -0
  20. package/dist/types/namespaces/Str.d.ts +23 -0
  21. package/dist/types/namespaces/Timeframe.d.ts +17 -0
  22. package/dist/types/namespaces/Types.d.ts +86 -0
  23. package/dist/types/namespaces/array/PineArrayObject.d.ts +102 -1
  24. package/dist/types/namespaces/array/array.index.d.ts +1 -129
  25. package/dist/types/namespaces/array/methods/avg.d.ts +2 -1
  26. package/dist/types/namespaces/array/methods/binary_search.d.ts +2 -0
  27. package/dist/types/namespaces/array/methods/binary_search_leftmost.d.ts +2 -0
  28. package/dist/types/namespaces/array/methods/binary_search_rightmost.d.ts +2 -0
  29. package/dist/types/namespaces/array/methods/covariance.d.ts +2 -1
  30. package/dist/types/namespaces/array/methods/every.d.ts +1 -1
  31. package/dist/types/namespaces/array/methods/fill.d.ts +2 -1
  32. package/dist/types/namespaces/array/methods/join.d.ts +5 -0
  33. package/dist/types/namespaces/array/methods/median.d.ts +2 -0
  34. package/dist/types/namespaces/array/methods/mode.d.ts +2 -0
  35. package/dist/types/namespaces/array/methods/new.d.ts +2 -1
  36. package/dist/types/namespaces/array/methods/new_float.d.ts +2 -1
  37. package/dist/types/namespaces/array/methods/new_int.d.ts +2 -1
  38. package/dist/types/namespaces/array/methods/percentile_linear_interpolation.d.ts +3 -0
  39. package/dist/types/namespaces/array/methods/percentile_nearest_rank.d.ts +2 -0
  40. package/dist/types/namespaces/array/methods/percentrank.d.ts +2 -0
  41. package/dist/types/namespaces/array/methods/push.d.ts +2 -1
  42. package/dist/types/namespaces/array/methods/range.d.ts +2 -1
  43. package/dist/types/namespaces/array/methods/set.d.ts +2 -1
  44. package/dist/types/namespaces/array/methods/some.d.ts +1 -1
  45. package/dist/types/namespaces/array/methods/sort.d.ts +2 -1
  46. package/dist/types/namespaces/array/methods/sort_indices.d.ts +2 -1
  47. package/dist/types/namespaces/array/methods/stdev.d.ts +2 -1
  48. package/dist/types/namespaces/array/methods/sum.d.ts +2 -1
  49. package/dist/types/namespaces/array/methods/unshift.d.ts +2 -1
  50. package/dist/types/namespaces/array/methods/variance.d.ts +2 -1
  51. package/dist/types/namespaces/array/utils.d.ts +5 -0
  52. package/dist/types/namespaces/input/methods/any.d.ts +1 -2
  53. package/dist/types/namespaces/input/methods/bool.d.ts +1 -2
  54. package/dist/types/namespaces/input/methods/color.d.ts +1 -2
  55. package/dist/types/namespaces/input/methods/enum.d.ts +1 -2
  56. package/dist/types/namespaces/input/methods/float.d.ts +1 -2
  57. package/dist/types/namespaces/input/methods/int.d.ts +1 -2
  58. package/dist/types/namespaces/input/methods/param.d.ts +1 -1
  59. package/dist/types/namespaces/input/methods/price.d.ts +1 -2
  60. package/dist/types/namespaces/input/methods/session.d.ts +1 -2
  61. package/dist/types/namespaces/input/methods/source.d.ts +1 -2
  62. package/dist/types/namespaces/input/methods/string.d.ts +1 -2
  63. package/dist/types/namespaces/input/methods/symbol.d.ts +1 -2
  64. package/dist/types/namespaces/input/methods/text_area.d.ts +1 -2
  65. package/dist/types/namespaces/input/methods/time.d.ts +1 -2
  66. package/dist/types/namespaces/input/methods/timeframe.d.ts +1 -2
  67. package/dist/types/namespaces/input/types.d.ts +12 -1
  68. package/dist/types/namespaces/input/utils.d.ts +2 -0
  69. package/dist/types/namespaces/map/PineMapObject.d.ts +26 -0
  70. package/dist/types/namespaces/map/map.index.d.ts +7 -0
  71. package/dist/types/namespaces/map/methods/clear.d.ts +3 -0
  72. package/dist/types/namespaces/map/methods/contains.d.ts +3 -0
  73. package/dist/types/namespaces/map/methods/copy.d.ts +3 -0
  74. package/dist/types/namespaces/map/methods/get.d.ts +3 -0
  75. package/dist/types/namespaces/map/methods/keys.d.ts +4 -0
  76. package/dist/types/namespaces/map/methods/new.d.ts +3 -0
  77. package/dist/types/namespaces/map/methods/param.d.ts +1 -0
  78. package/dist/types/namespaces/map/methods/put.d.ts +3 -0
  79. package/dist/types/namespaces/map/methods/put_all.d.ts +3 -0
  80. package/dist/types/namespaces/map/methods/remove.d.ts +3 -0
  81. package/dist/types/namespaces/map/methods/size.d.ts +3 -0
  82. package/dist/types/namespaces/map/methods/values.d.ts +4 -0
  83. package/dist/types/namespaces/math/math.index.d.ts +18 -0
  84. package/dist/types/namespaces/math/methods/abs.d.ts +2 -1
  85. package/dist/types/namespaces/math/methods/e.d.ts +5 -0
  86. package/dist/types/namespaces/math/methods/phi.d.ts +5 -0
  87. package/dist/types/namespaces/math/methods/pi.d.ts +5 -0
  88. package/dist/types/namespaces/math/methods/round_to_mintick.d.ts +2 -0
  89. package/dist/types/namespaces/math/methods/rphi.d.ts +5 -0
  90. package/dist/types/namespaces/math/methods/sign.d.ts +2 -0
  91. package/dist/types/namespaces/matrix/PineMatrixObject.d.ts +102 -0
  92. package/dist/types/namespaces/matrix/matrix.index.d.ts +7 -0
  93. package/dist/types/namespaces/matrix/methods/add_col.d.ts +3 -0
  94. package/dist/types/namespaces/matrix/methods/add_row.d.ts +3 -0
  95. package/dist/types/namespaces/matrix/methods/avg.d.ts +3 -0
  96. package/dist/types/namespaces/matrix/methods/col.d.ts +4 -0
  97. package/dist/types/namespaces/matrix/methods/columns.d.ts +3 -0
  98. package/dist/types/namespaces/matrix/methods/concat.d.ts +3 -0
  99. package/dist/types/namespaces/matrix/methods/copy.d.ts +3 -0
  100. package/dist/types/namespaces/matrix/methods/det.d.ts +3 -0
  101. package/dist/types/namespaces/matrix/methods/diff.d.ts +3 -0
  102. package/dist/types/namespaces/matrix/methods/eigenvalues.d.ts +4 -0
  103. package/dist/types/namespaces/matrix/methods/eigenvectors.d.ts +3 -0
  104. package/dist/types/namespaces/matrix/methods/elements_count.d.ts +3 -0
  105. package/dist/types/namespaces/matrix/methods/fill.d.ts +3 -0
  106. package/dist/types/namespaces/matrix/methods/get.d.ts +3 -0
  107. package/dist/types/namespaces/matrix/methods/inv.d.ts +3 -0
  108. package/dist/types/namespaces/matrix/methods/is_antidiagonal.d.ts +3 -0
  109. package/dist/types/namespaces/matrix/methods/is_antisymmetric.d.ts +3 -0
  110. package/dist/types/namespaces/matrix/methods/is_binary.d.ts +3 -0
  111. package/dist/types/namespaces/matrix/methods/is_diagonal.d.ts +3 -0
  112. package/dist/types/namespaces/matrix/methods/is_identity.d.ts +3 -0
  113. package/dist/types/namespaces/matrix/methods/is_square.d.ts +3 -0
  114. package/dist/types/namespaces/matrix/methods/is_stochastic.d.ts +3 -0
  115. package/dist/types/namespaces/matrix/methods/is_symmetric.d.ts +3 -0
  116. package/dist/types/namespaces/matrix/methods/is_triangular.d.ts +3 -0
  117. package/dist/types/namespaces/matrix/methods/is_zero.d.ts +3 -0
  118. package/dist/types/namespaces/matrix/methods/kron.d.ts +3 -0
  119. package/dist/types/namespaces/matrix/methods/max.d.ts +3 -0
  120. package/dist/types/namespaces/matrix/methods/median.d.ts +3 -0
  121. package/dist/types/namespaces/matrix/methods/min.d.ts +3 -0
  122. package/dist/types/namespaces/matrix/methods/mode.d.ts +3 -0
  123. package/dist/types/namespaces/matrix/methods/mult.d.ts +4 -0
  124. package/dist/types/namespaces/matrix/methods/new.d.ts +3 -0
  125. package/dist/types/namespaces/matrix/methods/param.d.ts +1 -0
  126. package/dist/types/namespaces/matrix/methods/pinv.d.ts +3 -0
  127. package/dist/types/namespaces/matrix/methods/pow.d.ts +3 -0
  128. package/dist/types/namespaces/matrix/methods/rank.d.ts +3 -0
  129. package/dist/types/namespaces/matrix/methods/remove_col.d.ts +4 -0
  130. package/dist/types/namespaces/matrix/methods/remove_row.d.ts +4 -0
  131. package/dist/types/namespaces/matrix/methods/reshape.d.ts +3 -0
  132. package/dist/types/namespaces/matrix/methods/reverse.d.ts +3 -0
  133. package/dist/types/namespaces/matrix/methods/row.d.ts +4 -0
  134. package/dist/types/namespaces/matrix/methods/rows.d.ts +3 -0
  135. package/dist/types/namespaces/matrix/methods/set.d.ts +3 -0
  136. package/dist/types/namespaces/matrix/methods/sort.d.ts +3 -0
  137. package/dist/types/namespaces/matrix/methods/submatrix.d.ts +3 -0
  138. package/dist/types/namespaces/matrix/methods/sum.d.ts +3 -0
  139. package/dist/types/namespaces/matrix/methods/swap_columns.d.ts +3 -0
  140. package/dist/types/namespaces/matrix/methods/swap_rows.d.ts +3 -0
  141. package/dist/types/namespaces/matrix/methods/trace.d.ts +3 -0
  142. package/dist/types/namespaces/matrix/methods/transpose.d.ts +3 -0
  143. package/dist/types/namespaces/request/methods/security_lower_tf.d.ts +9 -0
  144. package/dist/types/namespaces/request/request.index.d.ts +3 -0
  145. package/dist/types/namespaces/ta/methods/atr.d.ts +2 -1
  146. package/dist/types/namespaces/ta/methods/pivothigh.d.ts +1 -1
  147. package/dist/types/namespaces/ta/methods/pivotlow.d.ts +1 -1
  148. package/dist/types/namespaces/ta/methods/tr.d.ts +2 -1
  149. package/dist/types/namespaces/utils.d.ts +12 -0
  150. package/dist/types/transpiler/index.d.ts +1 -1
  151. package/dist/types/transpiler/pineToJS/ast.d.ts +167 -0
  152. package/dist/types/transpiler/pineToJS/codegen.d.ts +53 -0
  153. package/dist/types/transpiler/pineToJS/lexer.d.ts +31 -0
  154. package/dist/types/transpiler/pineToJS/parser.d.ts +45 -0
  155. package/dist/types/transpiler/pineToJS/pineToJS.index.d.ts +32 -0
  156. package/dist/types/transpiler/pineToJS/tokens.d.ts +34 -0
  157. package/dist/types/transpiler/settings.d.ts +6 -0
  158. package/dist/types/transpiler/transformers/WrapperTransformer.d.ts +5 -3
  159. package/dist/types/transpiler/utils/ASTFactory.d.ts +1 -0
  160. package/dist/types/types/PineTypes.d.ts +30 -15
  161. package/package.json +27 -6
  162. package/dist/pinets.dev.browser.js +0 -13887
  163. package/dist/pinets.dev.cjs +0 -14024
  164. package/dist/pinets.dev.cjs.map +0 -1
  165. package/dist/pinets.dev.es.js +0 -6375
  166. package/dist/pinets.dev.es.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ export declare const KNOWN_NAMESPACES: string[];
2
+ export declare const NAMESPACES_LIKE: string[];
3
+ export declare const ASYNC_METHODS: string[];
4
+ export declare const CONTEXT_DATA_VARS: string[];
5
+ export declare const CONTEXT_PINE_VARS: string[];
6
+ export declare const CONTEXT_CORE_VARS: string[];
@@ -1,9 +1,11 @@
1
1
  /**
2
2
  * Wraps unwrapped code in a context arrow function.
3
- * If the code is already wrapped in a function, returns it as-is.
4
- * Otherwise, wraps it in: (context) => { ... }
3
+ * If the code is already wrapped in a function:
4
+ * - If async, returns it as-is
5
+ * - If not async, converts it to async
6
+ * Otherwise, wraps it in: async (context) => { ... }
5
7
  *
6
8
  * @param code The input code string
7
- * @returns The wrapped code string
9
+ * @returns The wrapped code string (always async)
8
10
  */
9
11
  export declare function wrapInContextFunction(code: string): string;
@@ -17,4 +17,5 @@ export declare const ASTFactory: {
17
17
  createMathEqCall(left: any, right: any): any;
18
18
  createWrapperFunction(body: any): any;
19
19
  createVariableDeclaration(name: string, init: any): any;
20
+ createAwaitExpression(argument: any): any;
20
21
  };
@@ -15,6 +15,8 @@ type PlotCharOptions = {
15
15
  force_overlay?: boolean;
16
16
  };
17
17
  type PlotOptions = {
18
+ series?: number;
19
+ title?: string;
18
20
  color?: string;
19
21
  linewidth?: number;
20
22
  style?: string;
@@ -30,19 +32,32 @@ type PlotOptions = {
30
32
  force_overlay?: boolean;
31
33
  };
32
34
  type IndicatorOptions = {
33
- overlay?: boolean;
34
- format?: string;
35
- precision?: number;
36
- scale?: number;
37
- max_bars_back?: number;
38
- timeframe?: string;
39
- timeframe_gaps?: boolean;
40
- explicit_plot_zorder?: number;
41
- max_lines_count?: number;
42
- max_labels_count?: number;
43
- max_boxes_count?: number;
44
- calc_bars_count?: number;
45
- max_polylines_count?: number;
46
- dynamic_requests?: boolean;
47
- behind_chart?: boolean;
35
+ title: string;
36
+ shorttitle: string;
37
+ overlay: boolean;
38
+ format: string;
39
+ precision: number;
40
+ scale: string;
41
+ max_bars_back: number;
42
+ timeframe: string;
43
+ timeframe_gaps: boolean;
44
+ explicit_plot_zorder: boolean;
45
+ max_lines_count: number;
46
+ max_labels_count: number;
47
+ max_boxes_count: number;
48
+ calc_bars_count: number;
49
+ max_polylines_count: number;
50
+ dynamic_requests: boolean;
51
+ behind_chart: boolean;
52
+ };
53
+ type TSessionInfo = {
54
+ isfirstbar: boolean;
55
+ isfirstbar_regular: boolean;
56
+ islastbar: boolean;
57
+ islastbar_regular: boolean;
58
+ ismarket: boolean;
59
+ ispostmarket: boolean;
60
+ ispremarket: boolean;
61
+ extended: boolean;
62
+ regular: boolean;
48
63
  };
package/package.json CHANGED
@@ -1,30 +1,51 @@
1
1
  {
2
2
  "name": "pinets",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "",
5
- "main": "dist/pinets.dev.es.js",
5
+ "main": "dist/pinets.min.cjs",
6
+ "module": "dist/pinets.min.es.js",
7
+ "browser": "dist/pinets.min.browser.es.js",
6
8
  "types": "dist/types/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/types/index.d.ts",
12
+ "node": {
13
+ "import": "./dist/pinets.min.es.js",
14
+ "require": "./dist/pinets.min.cjs"
15
+ },
16
+ "browser": {
17
+ "import": "./dist/pinets.min.browser.es.js",
18
+ "default": "./dist/pinets.min.browser.js"
19
+ },
20
+ "default": "./dist/pinets.min.es.js"
21
+ }
22
+ },
7
23
  "files": [
8
- "dist"
24
+ "dist/*.min.*",
25
+ "dist/types"
9
26
  ],
10
27
  "type": "module",
11
28
  "scripts": {
12
29
  "test": "cross-env TEST_ENV=true vitest --reporter verbose",
13
30
  "test:coverage": "cross-env TEST_ENV=true vitest run --coverage",
14
31
  "test:coverage:badge": "cross-env TEST_ENV=true vitest run --coverage --exclude tests/_local/**",
15
- "badge": "npm run test:coverage:badge && node scripts/generate-coverage-badge.js",
32
+ "generate:badges": "npm run test:coverage:badge && node scripts/generate-badges.js",
16
33
  "generate:ta-index": "node scripts/generate-ta-index.js",
17
34
  "generate:math-index": "node scripts/generate-math-index.js",
18
35
  "generate:array-index": "node scripts/generate-array-index.js",
19
36
  "generate:input-index": "node scripts/generate-input-index.js",
20
37
  "generate:request-index": "node scripts/generate-request-index.js",
21
- "build:dev:all": "npm run generate:ta-index && npm run generate:math-index && npm run generate:array-index && npm run generate:input-index && npm run generate:request-index && npm run build:dev:browser && npm run build:dev:cjs && npm run build:dev:es && tsc --emitDeclarationOnly --declaration --outDir dist/types -p tsconfig.dts.json",
38
+ "generate:map-index": "node scripts/generate-map-index.js",
39
+ "generate:matrix-index": "node scripts/generate-matrix-index.js",
40
+ "build:dev:all": "npm run generate:ta-index && npm run generate:math-index && npm run generate:array-index && npm run generate:input-index && npm run generate:request-index && npm run generate:map-index && npm run generate:matrix-index && npm run build:dev:browser && npm run build:dev:cjs && npm run build:dev:es && npm run build:dev:browser-es && tsc --emitDeclarationOnly --declaration --outDir dist/types -p tsconfig.dts.json",
22
41
  "build:dev:cjs": "cross-env BUILD=dev FORMAT=cjs rollup -c ./rollup.config.js",
23
42
  "build:dev:browser": "cross-env BUILD=dev FORMAT=browser rollup -c ./rollup.config.js",
43
+ "build:dev:browser-es": "cross-env BUILD=dev FORMAT=browser-es rollup -c ./rollup.config.js",
24
44
  "build:dev:es": "cross-env BUILD=dev rollup -c ./rollup.config.js",
25
- "build:prod:all": "npm run generate:ta-index && npm run generate:math-index && npm run generate:array-index && npm run generate:input-index && npm run generate:request-index && npm run build:prod:browser && npm run build:prod:cjs && npm run build:prod:es && tsc --emitDeclarationOnly --declaration --outDir dist/types -p tsconfig.dts.json",
45
+ "build:prod:all": "npm run generate:ta-index && npm run generate:math-index && npm run generate:array-index && npm run generate:input-index && npm run generate:request-index && npm run generate:map-index && npm run generate:matrix-index && npm run build:prod:browser && npm run build:prod:cjs && npm run build:prod:es && npm run build:prod:browser-es && tsc --emitDeclarationOnly --declaration --outDir dist/types -p tsconfig.dts.json",
26
46
  "build:prod:cjs": "cross-env BUILD=prod FORMAT=cjs rollup -c ./rollup.config.js",
27
47
  "build:prod:browser": "cross-env BUILD=prod FORMAT=browser rollup -c ./rollup.config.js",
48
+ "build:prod:browser-es": "cross-env BUILD=prod FORMAT=browser-es rollup -c ./rollup.config.js",
28
49
  "build:prod:es": "cross-env BUILD=prod rollup -c ./rollup.config.js",
29
50
  "knip": "knip"
30
51
  },