{"version":3,"file":"ng-container-terminal-tool.mjs","sources":["../../../projects/ng-container-terminal/tool/src/model/vescell-parser-config.ts","../../../projects/ng-container-terminal/tool/src/model/yardpos-parser-config.ts","../../../projects/ng-container-terminal/tool/src/ct-yardpos-parser.service.ts","../../../projects/ng-container-terminal/tool/src/ct-vescell-parser.service.ts","../../../projects/ng-container-terminal/tool/src/public_api.ts","../../../projects/ng-container-terminal/tool/src/ng-container-terminal-tool.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface VescellParserConfig {\n  pattern: string;\n}\n\nexport const VESCELL_PARSER_CONFIG = new InjectionToken<VescellParserConfig>(\n  'vescellParserConfig'\n);\n","import { InjectionToken } from '@angular/core';\n\nexport interface YardposParserConfig {\n  pattern: string;\n}\n\nexport const YARDPOS_PARSER_CONFIG = new InjectionToken<YardposParserConfig>(\n  'yardposParserConfig'\n);\n","import { Inject, Injectable, Optional } from '@angular/core';\n\nimport { YARDPOS_PARSER_CONFIG, YardposParserConfig } from './model/yardpos-parser-config';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class CtYardposParserService {\n  private defaultConfig: YardposParserConfig = {\n    pattern: 'QQQWWWPPCC'\n  };\n\n  private idxMap = {\n    Q: { s: 0, e: 3 },\n    W: { s: 3, e: 5 },\n    P: { s: 5, e: 7 },\n    C: { s: 7, e: 8 }\n  };\n\n  private finalConfig: YardposParserConfig;\n\n  constructor(@Optional() @Inject(YARDPOS_PARSER_CONFIG) private config: YardposParserConfig) {\n    // 合并用户提供的解析器配置\n    this.finalConfig = Object.assign({}, this.defaultConfig, config);\n    // 重新计算索引\n    this._updateIdxMap();\n  }\n\n  private _updateIdxMap() {\n    this.idxMap['Q']['s'] = this.finalConfig.pattern.indexOf('Q');\n    this.idxMap['Q']['e'] = this.finalConfig.pattern.lastIndexOf('Q') + 1;\n    this.idxMap['W']['s'] = this.finalConfig.pattern.indexOf('W');\n    this.idxMap['W']['e'] = this.finalConfig.pattern.lastIndexOf('W') + 1;\n    this.idxMap['P']['s'] = this.finalConfig.pattern.indexOf('P');\n    this.idxMap['P']['e'] = this.finalConfig.pattern.lastIndexOf('P') + 1;\n    this.idxMap['C']['s'] = this.finalConfig.pattern.indexOf('C');\n    this.idxMap['C']['e'] = this.finalConfig.pattern.lastIndexOf('C') + 1;\n  }\n\n  private _padLeft(num, length, text = '0'): string {\n    return (Array(length).join(text) + num).slice(-length);\n  }\n\n  getQ(yardpos: string) {\n    return yardpos.slice(this.idxMap['Q']['s'], this.idxMap['Q']['e']);\n  }\n\n  getW(yardpos: string) {\n    return yardpos.slice(this.idxMap['W']['s'], this.idxMap['W']['e']);\n  }\n\n  getP(yardpos: string) {\n    return yardpos.slice(this.idxMap['P']['s'], this.idxMap['P']['e']);\n  }\n\n  getC(yardpos: string) {\n    return yardpos.slice(this.idxMap['C']['s'], this.idxMap['C']['e']);\n  }\n\n  getQW(yardpos: string) {\n    return this.getQ(yardpos) + this.getW(yardpos);\n  }\n\n  getQWP(yardpos: string) {\n    return this.getQW(yardpos) + this.getP(yardpos);\n  }\n\n  formatW(bay: number | string) {\n    const bayStringWidth = this.idxMap['W']['e'] - this.idxMap['W']['s'];\n    if (bay.toString().length > bayStringWidth) {\n      throw Error('传入参数有误，其长度应<=' + bayStringWidth);\n    }\n    return this._padLeft(bay.toString(), bayStringWidth, '0');\n  }\n\n  formatP(row: number | string) {\n    const rowStringWidth = this.idxMap['P']['e'] - this.idxMap['P']['s'];\n    if (row.toString().length > rowStringWidth) {\n      throw Error('传入参数有误，其长度应<=' + rowStringWidth);\n    }\n    return this._padLeft(row.toString(), rowStringWidth, '0');\n  }\n\n  formatC(tier: number | string) {\n    const tierStringWidth = this.idxMap['C']['e'] - this.idxMap['C']['s'];\n    if (tier.toString().length > tierStringWidth) {\n      throw Error('传入参数有误，其长度应<=' + tierStringWidth);\n    }\n    return this._padLeft(tier.toString(), tierStringWidth, '0');\n  }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\n\nimport { VESCELL_PARSER_CONFIG, VescellParserConfig } from './model/vescell-parser-config';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class CtVescellParserService {\n  private defaultConfig: VescellParserConfig = {\n    pattern: 'BBBBLLCC'\n  };\n\n  private idxMap = {\n    B: { s: 0, e: 4 },\n    L: { s: 4, e: 6 },\n    C: { s: 6, e: 8 }\n  };\n\n  private finalConfig: VescellParserConfig;\n\n  constructor(@Optional() @Inject(VESCELL_PARSER_CONFIG) private config: VescellParserConfig) {\n    // 合并用户提供的解析器配置\n    this.finalConfig = Object.assign({}, this.defaultConfig, config);\n    // 重新计算索引\n    this._updateIdxMap();\n  }\n\n  private _updateIdxMap() {\n    this.idxMap['B']['s'] = this.finalConfig.pattern.indexOf('B');\n    this.idxMap['B']['e'] = this.finalConfig.pattern.lastIndexOf('B') + 1;\n    this.idxMap['L']['s'] = this.finalConfig.pattern.indexOf('L');\n    this.idxMap['L']['e'] = this.finalConfig.pattern.lastIndexOf('L') + 1;\n    this.idxMap['C']['s'] = this.finalConfig.pattern.indexOf('C');\n    this.idxMap['C']['e'] = this.finalConfig.pattern.lastIndexOf('C') + 1;\n  }\n\n  private _padLeft(num: string, length: number, text = '0'): string {\n    return (Array(length).join(text) + num).slice(-length);\n  }\n\n  getBay(vescell: string) {\n    return vescell.slice(this.idxMap['B']['s'], this.idxMap['B']['e']);\n  }\n\n  getBayno(vescell: string) {\n    return vescell.slice(this.idxMap['B']['s'], this.idxMap['B']['e'] - 1);\n  }\n\n  getL(vescell: string) {\n    return vescell.slice(this.idxMap['L']['s'], this.idxMap['L']['e']);\n  }\n\n  getC(vescell: string) {\n    return vescell.slice(this.idxMap['C']['s'], this.idxMap['C']['e']);\n  }\n\n  getLC(vescell: string) {\n    return this.getL(vescell) + this.getC(vescell);\n  }\n\n  isDeck(vescell: string): boolean {\n    const bay = this.getBay(vescell);\n    return bay[bay.length - 1] === 'D';\n  }\n\n  // formatW(bay: number | string) {\n  //   const bayStringWidth = this.idxMap['W']['e'] - this.idxMap['W']['s'];\n  //   if (bay.toString().length > bayStringWidth) {\n  //     throw Error('传入参数有误，其长度应<=' + bayStringWidth);\n  //   }\n  //   return this._padLeft(bay.toString(), bayStringWidth, '0');\n  // }\n\n  formatP(row: number | string) {\n    const rowStringWidth = this.idxMap['P']['e'] - this.idxMap['P']['s'];\n    if (row.toString().length > rowStringWidth) {\n      throw Error('传入参数有误，其长度应<=' + rowStringWidth);\n    }\n    return this._padLeft(row.toString(), rowStringWidth, '0');\n  }\n\n  formatC(tier: number | string) {\n    const tierStringWidth = this.idxMap['C']['e'] - this.idxMap['C']['s'];\n    if (tier.toString().length > tierStringWidth) {\n      throw Error('传入参数有误，其长度应<=' + tierStringWidth);\n    }\n    return this._padLeft(tier.toString(), tierStringWidth, '0');\n  }\n}\n","// export * from './lib/tool/index';\nexport * from './model/vescell-parser-config';\nexport * from './model/yardpos-parser-config';\nexport * from './ct-yardpos-parser.service';\nexport * from './ct-vescell-parser.service';\n// export * from './tool.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}