@secretlint/types
Advanced tools
Comparing version 1.1.0 to 2.0.0
@@ -6,2 +6,20 @@ # Change Log | ||
# [2.0.0](https://github.com/secretlint/secretlint/compare/v1.1.0...v2.0.0) (2020-04-27) | ||
### Bug Fixes | ||
* **core:** change SecretLintRuleMessageTranslate to check statically ([03ccff1](https://github.com/secretlint/secretlint/commit/03ccff116390374193ca5975405b0cafeaf63932)) | ||
### BREAKING CHANGES | ||
* **core:** It changes SecretLintRuleMessageTranslate interface | ||
Rule need to change `messages` object format. | ||
# [1.1.0](https://github.com/secretlint/secretlint/compare/v1.0.5...v1.1.0) (2020-04-04) | ||
@@ -8,0 +26,0 @@ |
@@ -1,9 +0,9 @@ | ||
export { SecretLintCoreIgnoreDescriptor, SecretLintCoreReportDescriptor, SecretLintCoreIgnoreMessage, SecretLintCoreResult, SecretLintCoreResultMessage, SecretLintCoreDescriptor, SecretLintUnionRuleCreator, SecretLintCoreDescriptorUnionRule, SecretLintCoreDescriptorRule, SecretLintCoreDescriptorRulePreset } from "./SecretLintCore"; | ||
export { SecretLintCoreIgnoreDescriptor, SecretLintCoreReportDescriptor, SecretLintCoreIgnoreMessage, SecretLintCoreResult, SecretLintCoreResultMessage, SecretLintCoreDescriptor, SecretLintUnionRuleCreator, SecretLintCoreDescriptorUnionRule, SecretLintCoreDescriptorRule, SecretLintCoreDescriptorRulePreset, } from "./SecretLintCore"; | ||
export { SecretlintCoreSharedOptions } from "./SecretlintCoreSharedOptions"; | ||
export { SecretLintRuleSeverityLevel } from "./SecretLintRuleSeverityLevel"; | ||
export { SecretLintRuleIgnoreDescriptor, SecretLintRuleCreator, SecretLintRuleContext, SecretLintRuleCreatorOptions, SecretLintRuleReportDescriptor, SecretLintRuleReportHandler, SecretLintRuleContentType } from "./SecretLintRule"; | ||
export { SecretLintRulePresetContext, SecretLintRulePresetCreator, SecretLintRulePresetCreatorOptions } from "./SecretLintRulePreset"; | ||
export { SecretLintRawSource, SecretLintSourceIdentifierNode, SecretLintSourceNodeLocation, SecretLintSourceNodePosition, SecretLintSourceNodeRange, SecretLintSourceValueNode } from "./SecretLintSource"; | ||
export { SecretLintCreateRuleMessageTranslator, SecretLintRuleMessageTranslate, SecretLintRuleLocaleTag, SecretLintRuleLocalizeMessageMulti, SecretLintRuleLocalizeMessages, SecretLintRuleTranslatorResult, SecretLintRuleMessageTranslateData } from "./SecretLintRuleTranslator"; | ||
export { SecretLintRuleIgnoreDescriptor, SecretLintRuleCreator, SecretLintRuleContext, SecretLintRuleCreatorOptions, SecretLintRuleReportDescriptor, SecretLintRuleReportHandler, SecretLintRuleContentType, } from "./SecretLintRule"; | ||
export { SecretLintRulePresetContext, SecretLintRulePresetCreator, SecretLintRulePresetCreatorOptions, } from "./SecretLintRulePreset"; | ||
export { SecretLintRawSource, SecretLintSourceIdentifierNode, SecretLintSourceNodeLocation, SecretLintSourceNodePosition, SecretLintSourceNodeRange, SecretLintSourceValueNode, } from "./SecretLintSource"; | ||
export { SecretLintCreateRuleMessageTranslator, SecretLintRuleMessageTranslate, SecretLintRuleLocaleTag, SecretLintRuleLocalizeMessageHandler, SecretLintRuleLocalizeMessageMulti, SecretLintRuleLocalizeMessages, SecretLintRuleMessageTranslateResult, SecretLintRuleLocalizeMessageProps, } from "./SecretLintRuleTranslator"; | ||
export { SecretLintSourceCode } from "./SecretLintSourceCode"; | ||
export { SecretLintConfigDescriptor, SecretLintConfigDescriptorRule, SecretLintConfigDescriptorRulePreset } from "./SecretLintConfigDescriptor"; | ||
export { SecretLintConfigDescriptor, SecretLintConfigDescriptorRule, SecretLintConfigDescriptorRulePreset, } from "./SecretLintConfigDescriptor"; |
import { SecretLintSourceIdentifierNode } from "./SecretLintSource"; | ||
import { SecretLintCreateRuleMessageTranslator, SecretLintRuleLocalizeMessages, SecretLintRuleTranslatorResult } from "./SecretLintRuleTranslator"; | ||
import { SecretLintRuleLocalizeMessages, SecretLintRuleMessageTranslate, SecretLintRuleMessageTranslateResult } from "./SecretLintRuleTranslator"; | ||
import { SecretLintSourceCode } from "./SecretLintSourceCode"; | ||
import { SecretlintCoreSharedOptions } from "./SecretlintCoreSharedOptions"; | ||
export declare type SecretLintRuleReportDescriptor = { | ||
message: SecretLintRuleTranslatorResult<{}>; | ||
message: SecretLintRuleMessageTranslateResult<any>; | ||
range: number[]; | ||
@@ -11,3 +11,3 @@ data?: {}; | ||
export declare type SecretLintRuleIgnoreDescriptor = { | ||
message: SecretLintRuleTranslatorResult<{}>; | ||
message: SecretLintRuleMessageTranslateResult<any>; | ||
/** | ||
@@ -25,3 +25,3 @@ * Specify target rule id is ignored. | ||
sharedOptions: SecretlintCoreSharedOptions; | ||
createTranslator: SecretLintCreateRuleMessageTranslator<any>; | ||
createTranslator<T extends SecretLintRuleLocalizeMessages>(messages: T): SecretLintRuleMessageTranslate<T>; | ||
report(descriptor: SecretLintRuleReportDescriptor): void; | ||
@@ -28,0 +28,0 @@ ignore(descriptor: SecretLintRuleIgnoreDescriptor): void; |
export declare type SecretLintRuleLocaleTag = "en" | "cs" | "de" | "es" | "fr" | "it" | "ja" | "ko" | "pl" | "ru" | "tr" | "zh-CN" | "zh-TW" | string; | ||
export declare type SecretLintRuleLocalizeMessageMulti = { | ||
[P in SecretLintRuleLocaleTag]?: string; | ||
export declare type SecretLintRuleLocalizeMessageProps = { | ||
[index: string]: any; | ||
}; | ||
export declare type SecretLintRuleLocalizeMessageHandler<Props extends SecretLintRuleLocalizeMessageProps> = (props?: Props) => string; | ||
export declare type SecretLintRuleLocalizeMessageMulti<Props extends SecretLintRuleLocalizeMessageProps> = { | ||
[P in SecretLintRuleLocaleTag]: SecretLintRuleLocalizeMessageHandler<Props>; | ||
} & { | ||
en: string; | ||
en(props?: Props): string; | ||
}; | ||
/** | ||
* Rule Messages | ||
* | ||
* @example | ||
* const messages = { | ||
* messageId: { | ||
* en: (props: { key: string }) => `message ${key}`, | ||
* ja: (props: { key: string }) => `メッセージ ${key}` | ||
* } | ||
* } | ||
*/ | ||
export declare type SecretLintRuleLocalizeMessages = { | ||
[index: string]: string | SecretLintRuleLocalizeMessageMulti; | ||
[index: string]: SecretLintRuleLocalizeMessageMulti<any>; | ||
}; | ||
export declare type SecretLintRuleTranslatorResult<Data extends {}> = { | ||
export declare type SecretLintRuleMessageTranslateResult<Props extends SecretLintRuleLocalizeMessageProps> = { | ||
message: string; | ||
messageId: string; | ||
data: Data | undefined; | ||
data: Props | undefined; | ||
}; | ||
export declare type SecretLintRuleMessageTranslateData = { | ||
[index: string]: any; | ||
}; | ||
export declare type SecretLintRuleMessageTranslate<T extends SecretLintRuleLocalizeMessages, Data extends SecretLintRuleMessageTranslateData = {}> = (message: keyof T, data?: Data) => SecretLintRuleTranslatorResult<Data>; | ||
declare type ValueOf<T> = T[keyof T]; | ||
export declare type SecretLintRuleMessageTranslate<T extends SecretLintRuleLocalizeMessages, MessageId extends keyof T = keyof T, Props extends Parameters<ValueOf<T[MessageId]>>[0] = Parameters<ValueOf<T[MessageId]>>[0]> = (messageId: MessageId, props?: Props) => SecretLintRuleMessageTranslateResult<Props>; | ||
export declare type SecretLintCreateRuleMessageTranslator<T extends SecretLintRuleLocalizeMessages> = (messages: T) => SecretLintRuleMessageTranslate<T>; | ||
export {}; |
{ | ||
"name": "@secretlint/types", | ||
"version": "1.1.0", | ||
"version": "2.0.0", | ||
"description": "A typing package for @secretlint", | ||
@@ -57,3 +57,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "d924bd2e020439f449aa24d1673a3d212ebefa49" | ||
"gitHead": "d961f968a46561ca424d54d6f34ce94e245a6e16" | ||
} |
@@ -13,3 +13,3 @@ // Core Interface | ||
SecretLintCoreDescriptorRule, | ||
SecretLintCoreDescriptorRulePreset | ||
SecretLintCoreDescriptorRulePreset, | ||
} from "./SecretLintCore"; | ||
@@ -26,3 +26,3 @@ export { SecretlintCoreSharedOptions } from "./SecretlintCoreSharedOptions"; | ||
SecretLintRuleReportHandler, | ||
SecretLintRuleContentType | ||
SecretLintRuleContentType, | ||
} from "./SecretLintRule"; | ||
@@ -33,3 +33,3 @@ // Rule Preset | ||
SecretLintRulePresetCreator, | ||
SecretLintRulePresetCreatorOptions | ||
SecretLintRulePresetCreatorOptions, | ||
} from "./SecretLintRulePreset"; | ||
@@ -43,3 +43,3 @@ // Source | ||
SecretLintSourceNodeRange, | ||
SecretLintSourceValueNode | ||
SecretLintSourceValueNode, | ||
} from "./SecretLintSource"; | ||
@@ -50,6 +50,7 @@ export { | ||
SecretLintRuleLocaleTag, | ||
SecretLintRuleLocalizeMessageHandler, | ||
SecretLintRuleLocalizeMessageMulti, | ||
SecretLintRuleLocalizeMessages, | ||
SecretLintRuleTranslatorResult, | ||
SecretLintRuleMessageTranslateData | ||
SecretLintRuleMessageTranslateResult, | ||
SecretLintRuleLocalizeMessageProps, | ||
} from "./SecretLintRuleTranslator"; | ||
@@ -61,3 +62,3 @@ export { SecretLintSourceCode } from "./SecretLintSourceCode"; | ||
SecretLintConfigDescriptorRule, | ||
SecretLintConfigDescriptorRulePreset | ||
SecretLintConfigDescriptorRulePreset, | ||
} from "./SecretLintConfigDescriptor"; |
// Rule Interfaces | ||
import { SecretLintSourceIdentifierNode } from "./SecretLintSource"; | ||
import { | ||
SecretLintCreateRuleMessageTranslator, | ||
SecretLintRuleLocalizeMessages, | ||
SecretLintRuleTranslatorResult | ||
SecretLintRuleMessageTranslate, | ||
SecretLintRuleMessageTranslateResult, | ||
} from "./SecretLintRuleTranslator"; | ||
@@ -12,3 +12,3 @@ import { SecretLintSourceCode } from "./SecretLintSourceCode"; | ||
export type SecretLintRuleReportDescriptor = { | ||
message: SecretLintRuleTranslatorResult<{}>; | ||
message: SecretLintRuleMessageTranslateResult<any>; | ||
range: number[]; | ||
@@ -18,3 +18,3 @@ data?: {}; | ||
export type SecretLintRuleIgnoreDescriptor = { | ||
message: SecretLintRuleTranslatorResult<{}>; | ||
message: SecretLintRuleMessageTranslateResult<any>; | ||
/** | ||
@@ -33,3 +33,3 @@ * Specify target rule id is ignored. | ||
sharedOptions: SecretlintCoreSharedOptions; | ||
createTranslator: SecretLintCreateRuleMessageTranslator<any>; | ||
createTranslator<T extends SecretLintRuleLocalizeMessages>(messages: T): SecretLintRuleMessageTranslate<T>; | ||
report(descriptor: SecretLintRuleReportDescriptor): void; | ||
@@ -36,0 +36,0 @@ ignore(descriptor: SecretLintRuleIgnoreDescriptor): void; |
@@ -17,20 +17,41 @@ // TODO: add locale | ||
| string; | ||
export type SecretLintRuleLocalizeMessageProps = { [index: string]: any }; | ||
export type SecretLintRuleLocalizeMessageMulti = { [P in SecretLintRuleLocaleTag]?: string } & { en: string }; | ||
export type SecretLintRuleLocalizeMessageHandler<Props extends SecretLintRuleLocalizeMessageProps> = ( | ||
props?: Props | ||
) => string; | ||
export type SecretLintRuleLocalizeMessageMulti<Props extends SecretLintRuleLocalizeMessageProps> = { | ||
[P in SecretLintRuleLocaleTag]: SecretLintRuleLocalizeMessageHandler<Props>; | ||
} & { | ||
// Workaround for https://github.com/YousefED/typescript-json-schema/issues/110 | ||
en(props?: Props): string; | ||
}; | ||
/** | ||
* Rule Messages | ||
* | ||
* @example | ||
* const messages = { | ||
* messageId: { | ||
* en: (props: { key: string }) => `message ${key}`, | ||
* ja: (props: { key: string }) => `メッセージ ${key}` | ||
* } | ||
* } | ||
*/ | ||
export type SecretLintRuleLocalizeMessages = { | ||
// must have "en" | ||
[index: string]: string | SecretLintRuleLocalizeMessageMulti; | ||
[index: string]: SecretLintRuleLocalizeMessageMulti<any>; | ||
}; | ||
export type SecretLintRuleTranslatorResult<Data extends {}> = { | ||
export type SecretLintRuleMessageTranslateResult<Props extends SecretLintRuleLocalizeMessageProps> = { | ||
message: string; | ||
messageId: string; | ||
data: Data | undefined; | ||
data: Props | undefined; | ||
}; | ||
export type SecretLintRuleMessageTranslateData = { [index: string]: any }; | ||
type ValueOf<T> = T[keyof T]; | ||
export type SecretLintRuleMessageTranslate< | ||
T extends SecretLintRuleLocalizeMessages, | ||
Data extends SecretLintRuleMessageTranslateData = {} | ||
> = (message: keyof T, data?: Data) => SecretLintRuleTranslatorResult<Data>; | ||
MessageId extends keyof T = keyof T, | ||
// Props is a union type of Message Handler's props | ||
Props extends Parameters<ValueOf<T[MessageId]>>[0] = Parameters<ValueOf<T[MessageId]>>[0] | ||
> = (messageId: MessageId, props?: Props) => SecretLintRuleMessageTranslateResult<Props>; | ||
@@ -37,0 +58,0 @@ export type SecretLintCreateRuleMessageTranslator<T extends SecretLintRuleLocalizeMessages> = ( |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
42597
899