Rrule: рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 4 рдЬреБрд▓ре░ 2016  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: jakubroztocil/rrule

рд╣реЗ рд▓реЛрдЧреЛрдВ,
рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореИрдВ рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рд╕реЗ rrule.js рдлрд╝рд╛рдЗрд▓ рдХреИрд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:
import 'rrule';
рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ module.exports рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рд╕рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░рд╛ рднреА рдЖрдмрд╛рджреА рдирд╣реАрдВ рд╣реИред
рдЬрдм рдореИрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдпрд╛рдд рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ:
import * as rrule from 'rrule';
рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ:
Error TS2307: Cannot find module 'rrule'.

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

npm install @types/rrule рдЪрд▓рд╛рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред рдореИрдВ рддрдм рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛
import { RRule, RRuleSet } from "rrule";

рд╕рднреА 9 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдХрднреА рдХреЛрдИ рдлрд┐рдХреНрд╕ рдвреВрдВрдврд╛?

рдпрд╣ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

http://jqfaq.com/how-to-use-external-js-in-typescript/

рдореИрдВ рдЕрдкрдиреА ts рдлрд╝рд╛рдЗрд▓ рдореЗрдВ RRule рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ (рдореЗрд░реЗ index.html рдкреГрд╖реНрда рдореЗрдВ rrule.js рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж):

// рдлрд╝рд╛рдЗрд▓ рдлреЙрд░реНрдо.ts
var RRule рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ: рдХреЛрдИ рднреА;

рдореЙрдбреНрдпреВрд▓ myapp.controllers {

class myClass {
    constructor() {
        var rule = RRule.fromString('FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13');
        console.log(rule.toText());
    }
}

}

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВред
рдЯрд╛рдЗрдкрд┐рдВрдЧ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ -> rrule.d.ts

rrule.d.ts рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА:

declare var RRule: any; declare var RRuleSet: any; declare var rrulestr: any;

рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рд╡рд╣рд╛рдВ рдЙрдирдХреА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдлрд┐рд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП rrule.d.ts рдХреЛ index.d.ts рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ (рдореИрдВ рдЖрдо рддреМрд░ рдкрд░ рдЕрдкрдиреЗ рд╕рднреА d.ts рдХреЛ 1 рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ)

index.d.ts:
/// <reference path="globals/rrule/rrule.d.ts" />

рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

RRule.fromString('FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13');

рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛
declare var RRule: any;
рд╣рд░ рдЬрдЧрд╣ рдлрд┐рд░ рд╕реЗред

рд╕рд╛рджрд░!

npm install @types/rrule рдЪрд▓рд╛рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред рдореИрдВ рддрдм рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛
import { RRule, RRuleSet } from "rrule";

@ dennis2k рдФрд░ рдЖрдкрдиреЗ рдЗрд╕реЗ рд░реВрд▓реЗрд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ?

@uncledent рдореИрдВ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛

var rrulestr = require('rrule').rrulestr

@ dennis2k рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ Angular4 рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ :(

рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ Angular2/4 рдореЗрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд╕реБрдВрджрд░ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
declare function require(name:string); var rrulestr = require('rrule').rrulestr;

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдорд░ рдЪреБрдХрд╛ рд╣реИред рдпрджрд┐ рдЕрдзрд┐рдХ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Prinzhorn picture Prinzhorn  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

elazar picture elazar  ┬╖  18рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

espen picture espen  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

maconfr picture maconfr  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

michaelkrog picture michaelkrog  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ